面向对象设计原则 (七)CCP(共同封闭原则)

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.

一起修改的类,应该组合在一起(同一个包里)。

如果必须修改应用程序里的代码,我们希望所有的修改都发生在一个包里(修改关闭),而不是遍布在很多包里。

CCP原则就是把因为某个同样的原因而需要修改的所有类组合进一个包里。如果2个类从物理上或者从概念上联系得非常紧密,它们通常一起发生改变,那么它们应该属于同一个包。

CCP跟开闭原则(OCP: Open Closed Principle) 有着很深的渊源关系,CCP的“关闭”(closure)就是OCP所提倡的:classes should be closed for modification but open for extension. 类应该对修改关闭,对扩展开放。但我们知道,100%的“关闭”是不现实的,我们在设计系统时,只能尽量地保持对大多数可预见的修改关闭。

CCP延伸了OCP的“关闭”概念,当因为某个原因需要修改时,把需要修改的范围限制在一个最小范围内的包里。

CCP原则帮助我们决定哪些类应该被放到同一个包里。

你可能感兴趣的:(面向对象)