敏捷开发的设计原则
2007-04-02 23:40
204 查看
关于敏捷开发的设计原则:
单一职责原则SRP:Single Responsibility Principle
开放封闭原则OCP:Open-Close Principle
Liskov替换原则LSP:Liskov Substitution Principle
依赖倒置原则DIP:Dependency Invertion Principle
接口隔离原则ISP:Interface Separate Principle
关于包的设计原则:
重用发布等价原则REP:Reuse Equivalence Principle
共同重用原则CRP:Common Resue Principle
共同封闭原则CCP:Common Close Principle
无环依赖原则ADP:Acyclic Dependency Principle
稳定依赖原则SDP:Stabilization Dependency Principle
稳定性度量公式:I=Ce/(Ca+Ce) (I:不稳定度,Ce:输入耦合度,Ca:输出耦合度)
I取值范围在【0,1】,I=0表示具有最大稳定度;iI=1标识具有最大不稳定度
稳定抽象原则SAP:Stabilization Abstract Principle
GOF说--基于对象组合的设计会有更多的对象(而有较少的类)。
如果单纯的看这里,你会明白似乎类较少符合面向对象的逻辑。
但是且慢,我们知道面向对象有一条原则叫单一职责原则--SRP。
这样好像类多又是面向对象思想的体现。
其实最重要的是GOF中的这句话--且系统的行为将依赖对象间的关系而不是被定义在某个类中。
所以类的多少并不是问题的关键,是否职责单一也不是大问题,
最重要的是你现在的那些职责是都多少是不能被别的职责通过某种方式所代替的。
在BOB大叔那里定义职责是变化的原因,因此就可以认为这些变化的原因应该是不可代替的,
也可以说你不能由这个原因推导出别的原因。
只要这个原因间可以做到相互关联,那么你就可以把由于这些变化而引起变化的类组合起来,
而不是把他们规定在新的类中。
单一职责原则SRP:Single Responsibility Principle
开放封闭原则OCP:Open-Close Principle
Liskov替换原则LSP:Liskov Substitution Principle
依赖倒置原则DIP:Dependency Invertion Principle
接口隔离原则ISP:Interface Separate Principle
关于包的设计原则:
重用发布等价原则REP:Reuse Equivalence Principle
共同重用原则CRP:Common Resue Principle
共同封闭原则CCP:Common Close Principle
无环依赖原则ADP:Acyclic Dependency Principle
稳定依赖原则SDP:Stabilization Dependency Principle
稳定性度量公式:I=Ce/(Ca+Ce) (I:不稳定度,Ce:输入耦合度,Ca:输出耦合度)
I取值范围在【0,1】,I=0表示具有最大稳定度;iI=1标识具有最大不稳定度
稳定抽象原则SAP:Stabilization Abstract Principle
GOF说--基于对象组合的设计会有更多的对象(而有较少的类)。
如果单纯的看这里,你会明白似乎类较少符合面向对象的逻辑。
但是且慢,我们知道面向对象有一条原则叫单一职责原则--SRP。
这样好像类多又是面向对象思想的体现。
其实最重要的是GOF中的这句话--且系统的行为将依赖对象间的关系而不是被定义在某个类中。
所以类的多少并不是问题的关键,是否职责单一也不是大问题,
最重要的是你现在的那些职责是都多少是不能被别的职责通过某种方式所代替的。
在BOB大叔那里定义职责是变化的原因,因此就可以认为这些变化的原因应该是不可代替的,
也可以说你不能由这个原因推导出别的原因。
只要这个原因间可以做到相互关联,那么你就可以把由于这些变化而引起变化的类组合起来,
而不是把他们规定在新的类中。
相关文章推荐
- 敏捷开发提倡的面向对像设计原则(S.O.L.I.D)
- 包的设计原则,读敏捷软件开发 原则、模式和事件总结
- 敏捷软件开发(2)--- 设计原则
- 面向对象的设计原则【敏捷软件开发 原则、模式与实践】里面摘录
- 敏捷开发中的设计原则
- 敏捷软件开发:原则、模式与实践——第7章 什么是敏捷设计
- 《敏捷软件开发-原则、模式与实践》-第七章 什么是敏捷设计
- 敏捷开发采取面向对象的设计原则
- 《敏捷软件开发 原则、模式与时间》读后感 - 敏捷设计原则
- 面向对象的设计原则(整理于敏捷开发)
- 《敏捷软件开发 原则、模式与时间》读后感 - 敏捷设计原则
- 敏捷开发的面向对象的设计原则
- 【敏捷软件开发:原则、模式与实践】之敏捷设计的几个原则
- 面向对象的设计原则(整理于敏捷开发)
- 敏捷软件开发读书笔记2——面向对象的设计原则
- 设计模式 --3.单一职责原则,4.开发-封闭原则,5依赖倒转原则
- 详细讲解大型数据库的设计原则与开发技巧
- 为何Google这类巨头会认为敏捷开发原则是废话?
- 敏捷开发价值观和原则
- 《敏捷软件开发(原则、模式与实践)》前三章笔记