设计模式六大原则

Posted moongeek

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式六大原则相关的知识,希望对你有一定的参考价值。

1、单一职责原则

就一个类而言,应该只有一个引起它变化的原因。意思是,一个类应该实现单一的职责,如果功能太多就应该将类拆分。

2、开放-封闭原则(Open Close Principle)

软件实体(比如类、模块、函数等),对于扩展是开放的,对于更改的封闭的。意思是,如果软件要进行拓展时,不能去修改原代码,而应该去拓展原代码。这样能保证程序有较好的拓展性,易于维护和更新升级。为了实现这个功能,需要遵循“依赖倒转原则”。

3、依赖倒转原则(Dependence Inversion Principle)

即要面向接口编程,而不应该面向实现类编程。

4、里氏替换原则(Liskov Substitution Principle)

如果程序中使用的是父类的话,那一定能替换成子类,并且察觉不出父类和子类对象的区别。

换个说法,即类B继承类A时,除添加新的方法完成新增功能外,尽量不要重写父类A的方法,也尽量不要重载父类A的方法。即子类可以拓展父类的功能,但尽量不要修改父类的功能。

5、迪米特法则(最少知识原则)(Demeter Principle)

一个类对自己依赖的类的内部结构了解的越少越好,即减小类之间的耦合性。所以我们在设计类的时候,尽量降低成员变量的访问权限(private类型),所有逻辑都应该通过方法对外暴露。这样当这个类发生修改时,可以最小限度的影响其他类。

迪米特法则还有一个更简单的定义:只与直接的朋友通信。首先来解释一下什么是直接的朋友:每个对象都会与其他对象有耦合关系,只要两个对象之间有耦合关系,我们就说这两个对象之间是朋友关系。耦合的方式很多,依赖、关联、组合、聚合等。其中,我们称出现成员变量、方法参数、方法返回值中的类为直接的朋友,而出现在局部变量中的类则不是直接的朋友。也就是说,陌生的类最好不要作为局部变量的形式出现在类的内部

6、合成复用原则(Composite Reuse Principle)

原则是尽量首先使用合成/聚合的方式,而不是使用继承。

以上是关于设计模式六大原则的主要内容,如果未能解决你的问题,请参考以下文章

设计模式六大原则

设计模式六大原则

设计模式六大原则

转:设计模式六大原则

设计模式六大原则-----转载

java设计模式六大原则