Architecture 什么是开放式和封闭式分层体系结构?

Architecture 什么是开放式和封闭式分层体系结构?,architecture,modeling,Architecture,Modeling,我知道这听起来可能是一个非常琐碎的问题,但我在互联网上找不到任何资源 你能告诉我什么是开放式和封闭式分层体系结构吗?为什么开放式分层体系结构显然更难维护?使用封闭/开放分层体系结构有什么缺点吗?以下是Bob Martin对开放和封闭体系结构的最早定义之一: 根据定义,开放式体系结构正在发生变化。它们很难维护,因为在设计API时很难预见未来,也很难预测所有可能的需求。但是如果API保持不变,并且您已经设计了通过添加而不是重写进行修改的有效机制(例如声明性配置、数据驱动应用程序),那么开放式体系结

我知道这听起来可能是一个非常琐碎的问题,但我在互联网上找不到任何资源


你能告诉我什么是开放式和封闭式分层体系结构吗?为什么开放式分层体系结构显然更难维护?使用封闭/开放分层体系结构有什么缺点吗?

以下是Bob Martin对开放和封闭体系结构的最早定义之一:

根据定义,开放式体系结构正在发生变化。它们很难维护,因为在设计API时很难预见未来,也很难预测所有可能的需求。但是如果API保持不变,并且您已经设计了通过添加而不是重写进行修改的有效机制(例如声明性配置、数据驱动应用程序),那么开放式体系结构可能非常有效


对于那些众所周知且相对静态的问题,封闭式体系结构没有什么错。开放并不总是必要的。选择与变化的性质和速度有关。

封闭分层体系结构意味着任何给定层(或层)只能使用下一个直接层的服务,而在开放层体系结构中,给定层可以使用其下的任何层(或层)。封闭层体系结构通过减少依赖性来促进层之间的独立性


+1罗伯特,听我说。我没有这样想。很抱歉提前评论了一个10年前的问题,但是:开放层和封闭层可以混合吗?或者它是一种异或关系,像开放层体系结构或封闭层体系结构,但不是两者兼而有之。@SebNag:我认为,一旦你开始使用其他层,根据定义,它不再是封闭层系统。已经十年了。这是你对这个网站的好贡献吗?让我们看看十年后你的答案有多好。