乐趣区

关于arch:聊聊软件开发的REPCCPCRP原则

本文次要钻研一下软件开发的 REP、CCP、CRP 准则

The Reuse/Release Equivalence Principle (REP)

复用 / 公布等同准则
The granular of reuse is the granular of release.
软件复用的最小粒度应等同于其公布的最小粒度,须要有本人的公布版本号。

The Common Closure Principle (CCP)

独特闭包准则,即组件层面的繁多职责准则
The classes in a component should be closed together against the same kinds of changes. A change that affects a component affects all the classes in that component and no other components.
咱们应该将那些会同时批改,并且为雷同目标而批改的类放到同一个组件中,而将不会同时批改,并且不会为了雷同目标而批改的那些类放到不同的组件中。

对大部分应用程序来说,可维护性的重要性要远远高于可复用性。如果某程序中的代码必须要进行某些变更,那么这些变更最好都体现在同一个组件中,而不是散布于很多个组件中。因为如果这些变更都集中在同一个组件中,咱们就只须要重新部署该组件,其余组件则不须要被从新验证、重新部署了

The Common Reuse Principle (CRP)

独特复用准则
The classes in a component are reused together. If you reuse one of the classes in a component, you reuse them all.
不要强制一个组件的用户依赖他们不须要的货色。倡议咱们将常常独特复用的类和模块放在同一个组件中。

小结

REP 和 CCP 准则是黏合性准则,它们会让组件变得更大,而 CRP 准则是排除性准则,它会尽量让组件变小。

doc

  • Principles of Package and Component Design
退出移动版