包的设计原则总结(一) -- 关注包的内聚性

1.包的设计原则 - 重用发布等价原则(REP)

       介绍一下Robert C. Martin提出的面向对象的设计原则中的重用发布等价原则。参考文档(http://www.objectmentor.com/resources/articles/granularity.pdf

      重用发布等价原则:Release Reuse Equivalency Principle (REP)。重用的粒度就是发布的粒度( The granule of reuse is the granule of release. ),属于包设计的范畴。

      重用 的定义:可以重用的代码是指bug的改修和功能增加的改修的原因,代码版本要升级的场合,利用这些代码的系统不需要看具体的代码,只要适当的时机替换掉静态的库就能够正常工作。

    包是相关的类的集合,换言之一个类基本上都和其他的一些有依赖关系。因此 、发布的最小单位一般认为是一个包。

     REP重用发布等价原则是针对包的设计来说的。

  ・重用的单位和发布的单位等价

  ・包里面包含的所有类都是可以重用的吗?可以重用的包中不能包含不可重用的类。因为不可重用的类参照了其他组件,包含这个类的这个包就变成不能重用了。

 

 

2. 包的设计原则 -- 共同重用原则

  介绍一下RobertC.Martin提出的面向对象的设计原则 中的全再利用原则。参考文档(http://www.objectmentor.com/resources/articles/granularity.pdf )。

    全再利用原则(CRP):The Common Reuse Principle。是为了解决包设计的凝集问题的。

    ·   包里面的类能够一起被再利用,如果重用了包中的一个类,那么就要重用包中的所有类。( The classes in a package are reused together. If you reuse one of the classes in a package, you reuse them all.)。

     ·   不能够被一起再利用的类不要放在同一个包里面。( Classes that aren’t reused together should not be grouped together)。

     面向对象的所有这些原则在实践中完全遵守是几乎不可能的,主要是没有那么时间和金钱让我们去仔细琢磨。不过我们了解认识了这些原则后,在设计的时候尽量使自己的产品分离性更高,效率好。易读,易扩展,易维护。

 

 

3. 包的设计原则 - 共同封闭原则(CCP)

     介绍一下RobertC.Martin提出的面向对象的设计原则中的闭锁性共通原则。参考文档(http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf )。   
    闭锁性共通原则(CCP):The Common Closure Principle 。是为了解决包设计的凝集问题的。

    包中的所有类对于同一类性质的变化应该是共通封闭的。一个变化若对一个包产生影响,则将对该包中的所有类产生影响,而对于其他的包不造成任何影响 ( The classes in a package should be closed together against the same kinds of changes. a change that affects a package affects all the classes in that package. )。

   还有就是因为同一类性质的变化而被修改的类应该放在同一个包内 (Classes that change together, belong together. )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值