包的设计原则,读敏捷软件开发 原则、模式和事件总结

这本书中,关于包的设计有几个很有意思的观点,特别进行记录。

包的内聚性原则。所谓内聚性就是一个模块或者类只执行一项功能,并只执行一项功能。但是本书扩展了这个概念,并通过三个原则对内聚性进行检验

1、重用发布等价原则。

     包的设计必须以,使用者的角度进行考虑,第一,如果这个包是为了重用而设计的,那么就不应该包括重用无关的内容。第二,除了重用以外,用户对重用的内容应该是共同的,而不应该是其中的一部分,例如一个包含了重用容器类的库就不应该包含一个金融重用类(一般谁会这么干呢?)。

2、共同重用原则

     我想确信需要重用包中的一个类时,需要重用包中所有的类。(STL中我只用了MAP类,其他的不是都要哭了?)

3、共同封闭原则

    通过吧一些确定的变化封装到一个包中,用于增强一旦变化只修改一个包的目的。这个和开闭原则是对应的,所谓开闭是模块是可扩展的,并且对于扩展,软件的其他地方是不需要修改的。



代码大全中,关于抽象、封装和内聚的原则比这个更精彩,但是这里包的设计验证值得参考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值