我知道這可能聽起來像很平凡的問題,但我無法在互聯網上找到任何資源。開放式和封閉式分層體系結構的含義是什麼?
請問您能告訴我什麼是開放和封閉的分層體系結構,以及爲什麼開放的分層體系結構顯然更難以維持?使用封閉/開放分層體系結構有什麼缺點?
我知道這可能聽起來像很平凡的問題,但我無法在互聯網上找到任何資源。開放式和封閉式分層體系結構的含義是什麼?
請問您能告訴我什麼是開放和封閉的分層體系結構,以及爲什麼開放的分層體系結構顯然更難以維持?使用封閉/開放分層體系結構有什麼缺點?
封閉的分層體系結構意味着任何給定的層(或層)只能使用下一個即時層的服務,而在開放層體系結構中,給定層可以使用下面的任何層(或層)它。閉層體系結構通過減少依賴性來促進層之間的獨立性。
這裏的開放式和封閉式架構的鮑勃·馬丁最早的定義之一:
http://www.objectmentor.com/resources/articles/ocp.pdf
開放的架構,通過定義正在發生變化。它們很難維護,因爲在設計API時很難預見未來,並預見到每個可能的需求。但是,如果API保持不變,並且您已經設計了通過添加而不是重寫進行修改的有效機制(例如聲明式配置,數據驅動應用程序),則開放式架構可能非常有效。
對於衆所周知且相對靜態的問題,封閉架構沒有任何問題。打開並不總是必要的。選擇與變化的性質和速度有關。
+1 from me,Robert。我沒有這樣想過。 – duffymo 2009-05-24 17:45:03