我知道这可能听起来非常简单但我在互联网上找不到任何资源。
您能否告诉我什么是开放式和封闭式分层架构?为什么开放式分层架构显然更难以维护?使用封闭/开放分层架构有什么缺点吗?
答案 0 :(得分:10)
封闭的分层架构意味着任何给定的层(或层)只能使用下一个直接层的服务,而在开放层架构中,给定层可以使用它下面的任何层(或层) 。封闭层架构通过减少依赖性来提高层之间的独立性。
答案 1 :(得分:1)
以下是Bob Martin开放式和封闭式架构的最早定义之一:
http://www.objectmentor.com/resources/articles/ocp.pdf
根据定义,开放式架构正在发生变化。它们难以维护,因为在设计API并预测每种可能的需求时很难看到它们的未来。但是,如果API保持不变,并且您已经设计了有效的机制来通过添加而不是重写进行修改(例如声明性配置,数据驱动的应用程序),那么开放式架构可能非常有效。
对于众所周知且相对静态的问题,封闭式架构没有任何问题。打开并不总是必要的。选择与性质和变化速度有关。