首页 > 代码库 > 设计模式之开发-基本原则
设计模式之开发-基本原则
下面的几个设计模式,我认为是一个设计模式中的规则,
一:开放封闭原则
1、对这个原则有两个特征‘对扩展是开放的(Open for extension)’,另一个是说‘对于更改是封闭的(Closed for modification)’。
2、开放封闭原则的目的是,让软件对于新的需求的改变可以保持相对的稳定。
3、一个模块在封闭,都会存在一些无法封闭的地方,我们必须对于那些模块应该封闭掉的模块进行闭掉,对那些些无法封闭的模块、最容易变化的模块,进行构造抽象,从而达到隔离、扩展的目的。
4、比如写一个加法的程序,开发人员把他写到了一个Client类里面,当要加一个减法的的时候,如果把这个减法的方法,放入Client类里面,就违背了“开放-封闭原则”,于是你就要重构程序,写一个Operation类,通过一些面向对象的手段如继承,多态来隔离具体的,加法,减法,乘法,除法,的子类即可,减少这些方法与Client的耦合,需求依然满足还可以应对变化,面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。
6、“开放封闭原则”是面向对象的核心所在,遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是维护、可扩展、可复用、灵活性好,开发人员应该仅对程序出现频繁变化的那些部分做出抽象,然而对于程序的每一个地方都进行抽象并不好,拒绝不成熟的抽象和抽象本身同样重要。
二:单一职责原则
1、就是一个类而言,应该仅有一个引起它变化的原因。
2、如果一个类承载的职责过多,一个职责的变化可能会削弱或抑制这个类完成其他职责的能力,这种耦合会导致脆弱的设计,当变化发生时,设计会遭到意想不到的破坏
三:依赖倒转原则
1、高层模块不应该依赖低层 模块,两个都应该依赖抽象
2、抽象不应该依赖细节,细节应该依赖抽象
四:里氏代换原则
1、一个软件实体如果使用的是一个父类的话,那么一定适用于其子类,而且察觉不出父类对象和子类对象的区别,也就是说,在软件里面,把父类替换成他的子类,程序的行为没有变化
2、子类必须能够替换掉它们的父类型
3、只有父类能够完全替换子类的时候,父类才能被真正的复用,子类也能够在父类的基础上增加新的行为
所有内容来自,《大话设计模式》
设计模式之开发-基本原则