包的设计原则,读敏捷软件开发 原则、模式和事件总结
2011-10-13 22:43
645 查看
这本书中,关于包的设计有几个很有意思的观点,特别进行记录。
包的内聚性原则。所谓内聚性就是一个模块或者类只执行一项功能,并只执行一项功能。但是本书扩展了这个概念,并通过三个原则对内聚性进行检验
1、重用发布等价原则。
包的设计必须以,使用者的角度进行考虑,第一,如果这个包是为了重用而设计的,那么就不应该包括重用无关的内容。第二,除了重用以外,用户对重用的内容应该是共同的,而不应该是其中的一部分,例如一个包含了重用容器类的库就不应该包含一个金融重用类(一般谁会这么干呢?)。
2、共同重用原则
我想确信需要重用包中的一个类时,需要重用包中所有的类。(STL中我只用了MAP类,其他的不是都要哭了?)
3、共同封闭原则
通过吧一些确定的变化封装到一个包中,用于增强一旦变化只修改一个包的目的。这个和开闭原则是对应的,所谓开闭是模块是可扩展的,并且对于扩展,软件的其他地方是不需要修改的。
代码大全中,关于抽象、封装和内聚的原则比这个更精彩,但是这里包的设计验证值得参考。
包的内聚性原则。所谓内聚性就是一个模块或者类只执行一项功能,并只执行一项功能。但是本书扩展了这个概念,并通过三个原则对内聚性进行检验
1、重用发布等价原则。
包的设计必须以,使用者的角度进行考虑,第一,如果这个包是为了重用而设计的,那么就不应该包括重用无关的内容。第二,除了重用以外,用户对重用的内容应该是共同的,而不应该是其中的一部分,例如一个包含了重用容器类的库就不应该包含一个金融重用类(一般谁会这么干呢?)。
2、共同重用原则
我想确信需要重用包中的一个类时,需要重用包中所有的类。(STL中我只用了MAP类,其他的不是都要哭了?)
3、共同封闭原则
通过吧一些确定的变化封装到一个包中,用于增强一旦变化只修改一个包的目的。这个和开闭原则是对应的,所谓开闭是模块是可扩展的,并且对于扩展,软件的其他地方是不需要修改的。
代码大全中,关于抽象、封装和内聚的原则比这个更精彩,但是这里包的设计验证值得参考。
相关文章推荐
- 【敏捷软件开发:原则、模式与实践】之敏捷设计的几个原则
- 敏捷软件开发:原则、模式与实践——第7章 什么是敏捷设计
- 《敏捷软件开发 原则、模式与时间》读后感 - 敏捷设计原则
- 《敏捷软件开发 原则、模式与时间》读后感 - 敏捷设计原则
- 面向对象的设计原则【敏捷软件开发 原则、模式与实践】里面摘录
- 《敏捷软件开发-原则、模式与实践》-第七章 什么是敏捷设计
- Java程序员的推荐阅读书籍之七《敏捷软件开发 原则、模式与实践》
- 《敏捷软件开发:原则、模式与实践》读书笔记
- 敏捷软件开发:原则、模式和实践
- 敏捷软件开发:原则、模式与实践——第19章 类图
- 敏捷软件开发:原则、模式与实践——第20章 咖啡的启示
- 敏捷软件开发:原则、模式与实践 一次编程实践 保龄球记分代码
- 软件开发常用设计模式—单例模式总结(c++版)
- 《敏捷软件开发 原则、模式与实践 C#版》 - 书摘精要
- 我们的软件出了什么问题------《敏捷软件开发:原则、模式与实践》(一)
- 敏捷软件开发、模式、原则与实践摘录
- 强烈推荐敏捷软件开发:原则、模式与实践(C#版 英文注释版)
- 《敏捷软件开发-原则、模式与实践》-第五章 重构
- 推荐书籍系列(2):敏捷软件开发――原则、模式与实践
- 敏捷软件开发:原则、模式与实践的学习笔记