码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式之开发-基本原则

时间:2017-02-24 23:49:57      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:可扩展   odi   里氏代换原则   减法   click   open   隔离   耦合   基本原则   

下面的几个设计模式,我认为是一个设计模式中的规则,

一:开放封闭原则

1、对这个原则有两个特征‘对扩展是开放的(Open for extension)’,另一个是说‘对于更改是封闭的(Closed for modification)’。

2、开放封闭原则的目的是,让软件对于新的需求的改变可以保持相对的稳定。

3、一个模块在封闭,都会存在一些无法封闭的地方,我们必须对于那些模块应该封闭掉的模块进行闭掉,对那些些无法封闭的模块、最容易变化的模块,进行构造抽象,从而达到隔离、扩展的目的。

4、比如写一个加法的程序,开发人员把他写到了一个Client类里面,当要加一个减法的的时候,如果把这个减法的方法,放入Client类里面,就违背了“开放-封闭原则”,于是你就要重构程序,写一个Operation类,通过一些面向对象的手段如继承,多态来隔离具体的,加法,减法,乘法,除法,的子类即可,减少这些方法与Client的耦合,需求依然满足还可以应对变化,面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。

6、“开放封闭原则”是面向对象的核心所在,遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是维护、可扩展、可复用、灵活性好,开发人员应该仅对程序出现频繁变化的那些部分做出抽象,然而对于程序的每一个地方都进行抽象并不好,拒绝不成熟的抽象和抽象本身同样重要。

二:单一职责原则

1、就是一个类而言,应该仅有一个引起它变化的原因。

2、如果一个类承载的职责过多,一个职责的变化可能会削弱或抑制这个类完成其他职责的能力,这种耦合会导致脆弱的设计,当变化发生时,设计会遭到意想不到的破坏

三:依赖倒转原则

1、高层模块不应该依赖低层 模块,两个都应该依赖抽象

2、抽象不应该依赖细节,细节应该依赖抽象

四:里氏代换原则

1、一个软件实体如果使用的是一个父类的话,那么一定适用于其子类,而且察觉不出父类对象和子类对象的区别,也就是说,在软件里面,把父类替换成他的子类,程序的行为没有变化

2、子类必须能够替换掉它们的父类型

3、只有父类能够完全替换子类的时候,父类才能被真正的复用,子类也能够在父类的基础上增加新的行为

 

所有内容来自,《大话设计模式》

 

设计模式之开发-基本原则

标签:可扩展   odi   里氏代换原则   减法   click   open   隔离   耦合   基本原则   

原文地址:http://www.cnblogs.com/gouguo/p/4340792.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!