设计模式的七大原则
通过长期对程序开发的归纳和总结,开发者和相关的专业人员,逐渐形成了对优秀程序设计的核心理论定义,也就是我们通常说的设计模式七大原则:
开闭原则( Open Close Principle )
在对程序进行更新迭代的过程中,应当合理的避免修改类或方法的内部代码,而是优先选择通过继承、扩展等方式来实现。简而言之,就是:对扩展开放,对修改关闭。
里氏替换原则( Liskov Substitution Principle )
在实现子类的定义时,应该让它完全拥有替代父类进行工作的能力。简而言之,就是:子类对外要具与父类一致的方法或接口。
依赖倒置原则( Dependence Inversion Principle )
在对象或类的依赖关系定义上,父类或者其他上层实现不应该依赖于子类或者其他下层实现,通过这样,来避免依赖关系的耦合。
单一职责原则( Single Responsibility Principle )
在程序结构和依赖关系的定义上,要将类的功能职责充分理清,尽力减少类之间的耦合。避免对某个类进行修改时,牵一发动全身的连锁反应。
接口隔离原则( Interface Segregation Principle )
在对外接口的定义上,要避免庞大而臃肿的接口,而是进行责任细化的区分,避免冗余的代码实现。这对于提高内聚,提升系统灵活度是非常有效果的。
最少知识原则( Least Knowledge Principle )
在分配类的职责和建立依赖关系时,应该只关注于自身的功能实现和周围与之接触类的交互方式。避免类去考虑整个系统结构和处理流程,让类的职责清晰化,让系统的耦合度降低。
合成复用原则( Composite Reuse Principle )
在扩展功能的时候,要优先考虑水平形式的新增类或方法,而不是通过继承去实现。也就是通过功能的组合实现类,而不是通过基础去实现新的功能。这样可以提高类的可扩展性,减少系统的层次。
这七大原则为我们设计程序提供了指导,可以说是优秀程序设计的方法论。 不过理论往往又是简短而抽象的,大家想要理解并熟练用它们去指导程序设计,还需从大量的实践中去领悟。