修饰器模式
我们想为一个对象添加额外的功能,可选方法:
- 如果合理,可以直接将功能添加到对象所属的类
- 使用组合
- 使用继承
与继承相比,通常优先选择组合,因为继承式地代码更难复用,继承关系是静态的并且应用与整个类以及这个类的所有实例。
修饰器动态地扩展一个对象的功能;能以透明的方式动态地将功能添加到一个对象中
修饰器模式和python修饰器之间并不是一对一的等价关系;python修饰器能做的实际上比修饰器模式多得多,其中之一就是实现修饰器模式
横切关注点
数据校验
事务处理
缓存
日志
监控
调试
业务规则
压缩
加密
django视图
- 限制某些http请求对视图的访问
- 控制特定视图的缓存行为
- 按单个视图控制压缩
- 基于特定http请求头控制缓存
Grok框架
- 将一个函数注册为事件订阅者
- 以特定权限保护一个方法
- 实现适配器模式