物件導向設計原則 (七)CCP(共同封閉原則)

來源:互聯網
上載者:User
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原則協助我們決定哪些類應該被放到同一個包裡。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.