第二周学习框架设计总结
设计模式的七大原则
1、OOD 开闭原则
OCP
对于扩展是开放的
对于更改是封闭的
简言之:不需要修改软件实体,就应该能实现功能的扩展
传统的扩展的方式就是修改模块的源代码,如何实现不修改而扩展呢?
关键就是抽象
2、依赖倒置原则
高层模块不能依赖低层模块,而是大家都依赖抽象
抽象不能依赖实现,而是实现依赖抽象
3、里氏替换原则
使用继承时,遵循里氏替换原则,在子类中尽量不要重写父类的方法
里氏替换原则告诉我们,继承实际上让两个类耦合性增强了,在这适当的情况下,可以通过聚合,组合,依赖来解决问题。
4、单一职责原则
一个类应该只能负责一项职责,如类 A 负责两个不同的职责,职责 1,职责 2,当职责 1 需求变更而改变类 A 时,可能造成职责 2 执行错误,所以需要将类 A 的细粒度分解为 A1,A2.
降低类的复杂度,一个类只负责一项职责
提高类的可读性,可维护性
降低变更引起的风险
通常情况下,我们应当遵守单一职责的原则,只有逻辑足够简单,才可以在代码违反单一职责原则,只有类中方法数量足够少,可以在方法级别保持单一职责原则。
5、接口隔离原则
客户端不应该依赖他不需要的接口,既每个类对另一个类的依赖应该建立在最小的接口上。
6、迪米特法则
7、合成复用原则
尽量使用合成、聚合的方式,而不是使用继承的方式
评论