gpt4 book ai didi

n-tier-architecture - 三层架构有用吗?

转载 作者:行者123 更新时间:2023-12-02 05:29:23 27 4
gpt4 key购买 nike

十多年来,我们一直在构建三层架构。划分表示层、逻辑层和数据层应该允许我们在需要时单独交换每一层,无论是通过更改的需求还是新技术。

我从未见过它在实践中起作用......

主要是因为(至少)以下原因之一:

  • >三层概念仅在源代码中可见(例如 Java 中的包命名),然后将其作为一个包部署在一起。
  • >代表每一层的代码被很好地捆绑在它自己的可部署格式中,然后被扔进同一个进程(例如“企业容器”)。
  • >每一层都在自己的进程中运行,有时甚至在不同的机器上运行,但通过静态性质,它们相互连接,更换其中一个意味着破坏所有这些。

因此,您通常最终得到的是一个整体式、紧密耦合的系统,该系统无法提供其架构所 promise 的内容。

因此,我认为“三层架构”完全是用词不当。它带来的真正好处是代码在逻辑上是合理的。但那是在“编写时”,而不是在“运行时”。更好的名称应该是“按责任分层”。无论如何,“架构”这个词都具有误导性。

您对此有何看法?如何实现有效三层架构?我的意思是说它信守 promise :允许在不影响其他层的情况下插入一层。系统应该在那个时候存活下来,然后处于一个明确定义的状态。

谢谢!

最佳答案

分层架构(逻辑层和物理层)的真正目的不是让替换一个层变得容易(这种情况很少见),而是让在内部进行更改变得容易一个不影响其他层(和 as Ben notes ,以促进可扩展性、一致性和安全性)的层 - 它一直在我们周围工作。

关于n-tier-architecture - 三层架构有用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1882576/

27 4 0