2009-05-24 158 views
3

我知道這可能聽起來像很平凡的問題,但我無法在互聯網上找到任何資源。開放式和封閉式分層體系結構的含義是什麼?

請問您能告訴我什麼是開放和封閉的分層體系結構,以及爲什麼開放的分層體系結構顯然更難以維持?使用封閉/開放分層體系結構有什麼缺點?

回答

7

封閉的分層體系結構意味着任何給定的層(或層)只能使用下一個即時層的服務,而在開放層體系結構中,給定層可以使用下面的任何層(或層)它。閉層體系結構通過減少依賴性來促進層之間的獨立性。

http://books.google.com/books?id=z5XX4gYuMs0C&pg=PT160&lpg=PT160&dq=%22closed+layer+architecture%22&source=bl&ots=-iCw2be77_&sig=zQvScA2oIud_rNJNMziZXNMSnJo&hl=en&ei=u4UZSt7MKoX2tAOW-8jaCA&sa=X&oi=book_result&ct=result&resnum=5#PPT160,M1

+0

+1 from me,Robert。我沒有這樣想過。 – duffymo 2009-05-24 17:45:03

1

這裏的開放式和封閉式架構的鮑勃·馬丁最早的定義之一:

http://www.objectmentor.com/resources/articles/ocp.pdf

開放的架構,通過定義正在發生變化。它們很難維護,因爲在設計API時很難預見未來,並預見到每個可能的需求。但是,如果API保持不變,並且您已經設計了通過添加而不是重寫進行修改的有效機制(例如聲明式配置,數據驅動應用程序),則開放式架構可能非常有效。

對於衆所周知且相對靜態的問題,封閉架構沒有任何問題。打開並不總是必要的。選擇與變化的性質和速度有關。