2009-05-24 370 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保持不变,并且您已经设计了通过添加而不是重写进行修改的有效机制(例如声明式配置,数据驱动应用程序),则开放式架构可能非常有效。

对于众所周知且相对静态的问题,封闭架构没有任何问题。打开并不总是必要的。选择与变化的性质和速度有关。