Week 03 总结
设计模式从功能分类
创建模式:对类的实例化过程的抽象
结构模式:将类或者对象结合在一起形成更大的结构
行为模式:对在不同的对象之间划分责任和算法的抽象化
设计模式从方式分
类模式:以继承的方式实现模式,静态的
对象模式:以组合的方式实现模式,动态的
ODD(面向对象设计)原则
OCP:Open Close Principle(开闭原则)
DIP:Dependency Inversion Principle(依赖倒置原则)
LSP:Liskov Substitution Principle(里式替换原则)
SRP:Single Responsibility Principle(单一职责原则)
ISP:Interface Segregation Principle(接口分离原则)
OOD(面向对象设计)的目标
强内聚
低耦合
简单工厂模式的优缺点
优点:
使Client不再依赖具体实现
对Client实现OCP
缺点
对工程未实现OCP
单例模式
只有一个实例减少开销
多用户使用这个实例,进行统一控制
实现单元测试的步骤
创建测试类,继承自TestCase
初始化环境setup()
清除环境:teardown()
书写测试类
模版方法模式
模版方法模式是扩展功能的最基本模式之一,通过一种类的行为模式
是通过继承的方法来实现扩展:基类负责算法的轮廓和骨架,子类负责算法的具体实现
模版方法的形式
抽象方法:强制子类实现
具体方法:子类可以覆盖,也可以不覆盖
钩子方法:空的实现,子类可选择性覆盖
策略模式
策略模式是扩展功能的另一种基本方式:
是一种对象的行为模式
通过组合的方法实现扩展
组合模式
- 是一种对象的结构模式
装饰器模式
是一种对象的结构模式
装饰器的作用:
在不改变客户端的接口的前提下(对客户端透明)
扩展现有对象的功能
评论