设计模式是五大或六大还是七大原则?

设计模式是五大或六大还是七大原则?

设计模式有五大原则或七大原则之分
按五大原则划分:1、2、3和4(算一种)、5和6(算一种)、7
按六大原则划分:1、2、3、4、5和6(算一种)、7
按七大原则划分:1、2、3、4、5、6、7

1.单一职责原则(Single Responsibility Principle,SRP):类的职责要单一,不能将太多的职责放在一个类中。(高内聚、低耦合)

2.开闭原则( Open - ClosedPrinciple ,OCP ):对扩展开放,对修改关闭(设计模式的核心原则是)

3.依赖倒转原则( Dependence Inversion Principle ,DIP ):要依赖抽象,而不要依赖具体的实现.

4.里氏代换原则( Liskov Substitution Principle ,LSP ):任何基类可以出现的地方,子类也可以出现

5.迪米特法则(Law of Demeter,LoD:系统中的类,尽量不要与其他类互相作用,减少类之间的耦合度
定义:又叫最少知识原则(Least Knowledge Principle或简写为LKP)几种形式定义:
(1) 不要和“陌生人”说话。英文定义为:Don’t talk to strangers.
(2) 只与你的直接朋友通信。英文定义为:Talk only to your immediatefriends.

6.接口隔离法则(Interface Segregation Principle,ISL):客户端不应该依赖那些它不需要的接口。(这个法则与迪米特法则是相通的)

7 .合成/聚合复用原则(Composite/Aggregate ReusePrinciple ,CARP):要尽量使用对象组合,而不是继承关系达到软件复用的目的

其中合成/聚合复用原则又可以细分为二种
聚合(Aggregation) 关系是关联关系的一种,是弱的关联关系。比如乐队(主唱,吉他手,贝斯手)
组合(Composition) 关系是关联关系的一种,是强的关联关系。比如每名乐手(灵魂、身体)

版权所有,转载请注明文章出处 http://blog/csdn.net/cadenzasolo

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章