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