设计模式 七大原则
在这里分享下设计模式七大原则以及各自的关键词:
1.开闭原则
(框架)
对扩展开放、对修改关闭 在不被修改的前提下被扩展 抽象化*
2.单一职责原则
(封装)
(权衡)建议一个对象一个bean,解耦合(看具体情况)
一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中
ps:一个类承担的职责越多,它被复用的可能性越小
3.里氏代换原则
(抽象)
所有引用父类的地方必须能透明地使用其子类地对象
软件中如果能够使用基类对象,那么一定能够使用其子类对象
4.依赖倒转原则
(具体实现)
高层模块不应该依赖低层模块,它们都应该依赖抽象
抽象不应该依赖于细节,细节应该依赖于抽象
5.接口隔离原则
(接口)
用多个专门地接口,而不使用单一的总接口 一个接口代表一个角色
接口仅仅提供客户端需要的方法
6.合成复用原则
(对象)
尽量使用对象组合/聚合关系,少用继承 尽量使用对象组合,而不是继承
关联关系(包括组合关系和聚合关系)
通过委派调用已有对象的方法达到复用其已有功能的目的
7.迪米特法则
(实体)
一个软件实体应当尽可能少的与其他实体发生相互作用
1.开闭原则
(框架)
对扩展开放、对修改关闭 在不被修改的前提下被扩展 抽象化*
2.单一职责原则
(封装)
(权衡)建议一个对象一个bean,解耦合(看具体情况)
一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中
ps:一个类承担的职责越多,它被复用的可能性越小
3.里氏代换原则
(抽象)
所有引用父类的地方必须能透明地使用其子类地对象
软件中如果能够使用基类对象,那么一定能够使用其子类对象
4.依赖倒转原则
(具体实现)
高层模块不应该依赖低层模块,它们都应该依赖抽象
抽象不应该依赖于细节,细节应该依赖于抽象
5.接口隔离原则
(接口)
用多个专门地接口,而不使用单一的总接口 一个接口代表一个角色
接口仅仅提供客户端需要的方法
6.合成复用原则
(对象)
尽量使用对象组合/聚合关系,少用继承 尽量使用对象组合,而不是继承
关联关系(包括组合关系和聚合关系)
通过委派调用已有对象的方法达到复用其已有功能的目的
7.迪米特法则
(实体)
一个软件实体应当尽可能少的与其他实体发生相互作用