标准 专业
多元 极客

设计模式实验室(25)——总结

设计原则

单一职责原则

一个类只负责一个功能领域中的相应职责,或者可以定义为,就一个类而言,应该只有一个引用引起它的变化。

开闭原则

一个软件实体应该对扩展开发,对修改关闭。即软件实体应该在不修改原有代码的情况下,对其进行扩展。这里的软件系统既可以是一个单独的类,也可以是多个类组成的局部结构,甚至是一个软件模块。

抽象化是实现开闭原则的关键。

里氏代换原则

所有引用父类的地方必须能够透明地使用其子类对象。

里氏代换原则是实现开闭原则的重要方法之一,在程序中尽量使用父类类型来对对象进行定义,而在运行在确定其子类类型,用子类对象替换父类对象。

依赖倒转原则

抽象不应该依赖于细节,细节应该依赖于抽象,通俗地讲,要针对接口编程,而不是针对实现编程。

依赖倒转原则要求我们在程序代码中传递参数时或者在关联关系时,尽量引用层次高的抽象层类,即使用接口和抽象类进行变量声明,参数类型声明,方法返回类型声明以及数据类型转换等,而不要使用具体类来做这些事情。

接口隔离原则

使用多个专门的接口,而不使用单一的总接口,即外部调用不应该依赖那些它不需要的接口。

合成复用原则

尽量使用对象组合,而不是继承来达到复用的目的。

迪米特法则

一个软件实体应该尽可能少的与其他实体发生相互作用。

迪米特法则可以降低系统的耦合度,使类与类之间保持松散耦合关系。

迪米特法则要求我们在设计系统时,如果两个类之间没有不必彼此直接通信,那么这个两个对象就不应该发生直接的相互引用,如果其中一个对象需要调用另一个对象的某个方法,那么可以通过引入第三方类来实现,也就是通过第三方类来降低系统的耦合度。

结构型模式

适配器模式
代理模式
外观模式
桥接模式
组合模式
装饰模式
享元模式

创建型模式

简单工厂模式
工厂方法模式
抽象工厂模式
单例模式
原型模式
建造者模式

行为型模式

策略模式
观察者模式
迭代器模式
责任链模式
状态模式
访问者模式
命令模式
模板方法模式
备忘录模式
中介者模式
解释器模式

示例代码

示例代码分享,欢迎PR

 

赞(0) 投币

评论 抢沙发

慕勋的实验室慕勋的研究院

码字不容易,路过请投币

支付宝扫一扫

微信扫一扫