我知道这可能听起来像很平凡的问题,但我无法在互联网上找到任何资源。开放式和封闭式分层体系结构的含义是什么?
请问您能告诉我什么是开放和封闭的分层体系结构,以及为什么开放的分层体系结构显然更难以维持?使用封闭/开放分层体系结构有什么缺点?
我知道这可能听起来像很平凡的问题,但我无法在互联网上找到任何资源。开放式和封闭式分层体系结构的含义是什么?
请问您能告诉我什么是开放和封闭的分层体系结构,以及为什么开放的分层体系结构显然更难以维持?使用封闭/开放分层体系结构有什么缺点?
封闭的分层体系结构意味着任何给定的层(或层)只能使用下一个即时层的服务,而在开放层体系结构中,给定层可以使用下面的任何层(或层)它。闭层体系结构通过减少依赖性来促进层之间的独立性。
这里的开放式和封闭式架构的鲍勃·马丁最早的定义之一:
http://www.objectmentor.com/resources/articles/ocp.pdf
开放的架构,通过定义正在发生变化。它们很难维护,因为在设计API时很难预见未来,并预见到每个可能的需求。但是,如果API保持不变,并且您已经设计了通过添加而不是重写进行修改的有效机制(例如声明式配置,数据驱动应用程序),则开放式架构可能非常有效。
对于众所周知且相对静态的问题,封闭架构没有任何问题。打开并不总是必要的。选择与变化的性质和速度有关。
+1 from me,Robert。我没有这样想过。 – duffymo 2009-05-24 17:45:03