设计模式之六大原则
2018-01-23 19:17
225 查看
总原则:开闭原则
开闭原则是指对扩展开放,对修改关闭。开闭原则是面向对象设计的核心所在。遵循这个原则可以带来面向对象技术
所声称的巨大好处,即可维护、可扩展、可复用、灵活性好。开发人员应该仅对程序中呈现出频繁变化的那些部分抽象,
即面向接口和抽象编程。(但是也不能一味的抽象,为了抽象而抽象是不合理的)。
单一职责原则:
单一职责原则是指,就一个类而言,应该仅有一个引起类变化的原因。一个类职责过得的话,就等于把这些职责耦合在一起,
一个职责的变化可能会削弱或者抑制这个类的其他职责的能力。这种耦合会导致脆弱的设计,因此需要履行单一职责原则。
依赖倒转原则:
1)高层模块不应该依赖于底层模块,都应该依赖于抽象。(如上次业务为高层,底层连接数据库函数,高层都直接调用底层函数)
2)抽象不应该依赖于细节,细节应该依赖于抽象。通俗说就是面向接口编程,而不是面向实现编程。
依赖倒转原则是面向对象设计的标志,用哪种语言来编写程序不重要,如果编写时考虑的都是如何针对抽象编程而不是
针对细节编程,即程序中所有的依赖关系都是终止于抽象类或者接口,那就是面向对象的设计,反之那就是过程化的设计。
里氏替换原则:
任何基类能够出现的地方,子类一定能够出现。即子类型一定能够替换掉基类型。
迪米特法则:
迪米特法则也是最少知识法则。如果两个类没有直接的通信关系,那么这两个类不必产生相互作用,如果一个类要引用
另外一个类的方法,则可以通过第三方类转发调用。
接口隔离原则:
如果一个接口存在某些方法,而子类中用不到,但必须实现。那么将此接口进行拆分。使用多个隔离的接口,比使用单个
接口(多个接口方法集合到一个的接口)要好。
合成复用原则:
尽量使用合成、聚合的方式,而不是使用继承。
参考:《大话设计模式》
开闭原则是指对扩展开放,对修改关闭。开闭原则是面向对象设计的核心所在。遵循这个原则可以带来面向对象技术
所声称的巨大好处,即可维护、可扩展、可复用、灵活性好。开发人员应该仅对程序中呈现出频繁变化的那些部分抽象,
即面向接口和抽象编程。(但是也不能一味的抽象,为了抽象而抽象是不合理的)。
单一职责原则:
单一职责原则是指,就一个类而言,应该仅有一个引起类变化的原因。一个类职责过得的话,就等于把这些职责耦合在一起,
一个职责的变化可能会削弱或者抑制这个类的其他职责的能力。这种耦合会导致脆弱的设计,因此需要履行单一职责原则。
依赖倒转原则:
1)高层模块不应该依赖于底层模块,都应该依赖于抽象。(如上次业务为高层,底层连接数据库函数,高层都直接调用底层函数)
2)抽象不应该依赖于细节,细节应该依赖于抽象。通俗说就是面向接口编程,而不是面向实现编程。
依赖倒转原则是面向对象设计的标志,用哪种语言来编写程序不重要,如果编写时考虑的都是如何针对抽象编程而不是
针对细节编程,即程序中所有的依赖关系都是终止于抽象类或者接口,那就是面向对象的设计,反之那就是过程化的设计。
里氏替换原则:
任何基类能够出现的地方,子类一定能够出现。即子类型一定能够替换掉基类型。
迪米特法则:
迪米特法则也是最少知识法则。如果两个类没有直接的通信关系,那么这两个类不必产生相互作用,如果一个类要引用
另外一个类的方法,则可以通过第三方类转发调用。
接口隔离原则:
如果一个接口存在某些方法,而子类中用不到,但必须实现。那么将此接口进行拆分。使用多个隔离的接口,比使用单个
接口(多个接口方法集合到一个的接口)要好。
合成复用原则:
尽量使用合成、聚合的方式,而不是使用继承。
参考:《大话设计模式》
相关文章推荐
- Java设计模式——六大原则
- 设计模式—六大设计原则
- IOS设计模式的六大设计原则之里氏替换原则(LSP,Liskov Substitution Principle)
- 设计模式六大原则(6):开闭原则
- 设计模式六大原则(5)迪米特法则(Law Of Demeter)
- 设计模式六大原则-单一职责原则、开放封闭原则、依赖倒转原则、里氏代换原则、迪米特法则、合成/聚合复用原则
- 设计模式六大原则
- 【设计模式六大原则5】迪米特法则(Law Of Demeter)
- 设计模式中的六大原则
- 设计模式六大原则
- 设计模式六大原则(6):开闭原则
- 设计模式之六大原则——接口隔离原则(ISP)
- 设计模式六大原则(2):里氏替换原则(Liskov Substitution Principle)
- 设计模式六大原则
- 设计模式之六大原则(转载)
- 妙谈设计模式六大原则
- 设计模式六大原则(6):开闭原则
- 设计模式概述及六大原则
- 设计模式六大原则(5):迪米特法则
- 设计模式六大原则(2):里氏替换原则