【问题标题】:What are the benefits of an N-layered architecture?N 层架构有什么好处?
【发布时间】:2010-04-14 12:01:24
【问题描述】:

N 层架构有什么好处?这如何使应用程序变得更好?

【问题讨论】:

标签: architecture n-layer


【解决方案1】:

来自here

  • 其他应用程序将能够重用您的层公开的功能。
  • 您将能够将层分布在多个物理层上。通过提高性能(有时)、可扩展性和容错性,这可以对您的应用产生非常好的影响。
  • 由于层之间的低耦合,您的应用程序的维护更容易。
  • 向您的应用程序添加更多功能变得更加容易。
  • 层使您的应用程序更易于测试。
  • 构建结构良好的层可以使您的应用程序中的方向更容易。
  • 让您的应用程序不分层意味着您必须在一个地方处理所有安全威胁,这非常困难。将您的应用程序分布到各个层可以更轻松地进行设计和实施
  • 如果没有良好的部署计划,在分布式计算中将层分布在多个物理层上并非易事。创建分布式应用程序时,您需要提前规划层。

【讨论】:

    【解决方案2】:

    由于层之间的低耦合、层之间的高内聚以及切换层接口的不同实现的能力,解决方案的维护和增强更容易。

    其他解决方案应该能够重用各个层公开的功能,尤其是在设计层接口时考虑到重用。

    如果工作可以分布在层边界,分布式开发会更容易。

    将层分布在多个物理层上可以提高可扩展性、容错性和性能。有关详细信息,请参阅分层分布模式。

    可测试性受益于定义明确的层接口以及切换层接口的各种实现的能力。

    总结

    好处是

    1. 层的重用
    2. 支持标准化
    3. 依赖关系保持在本地
    4. 可交换性

    【讨论】:

      【解决方案3】:

      首先,分层架构是一种“模块化设计”。因此,为了了解分层架构的好处,需要知道什么是模块化设计。其次,它是一种特殊类型的模块化设计,专门组织来管理依赖关系,以尽量减少紧密耦合,从而实现模块化设计的目标——自主模块/组件。当我们拥有自主/独立的模块时,与架构/设计不是模块化的情况相比,它们可以被重用、扩展、测试等等。

      我有一篇关于分层架构的文章,我在其中更详细地讨论了这些事情。这可能会有所帮助。

      Layered Architecture Explained

      【讨论】:

      • 那个链接坏了,不过我很想读。你有其他链接吗?
      • 更新了链接。本文介绍了分层架构等。
      猜你喜欢
      • 2010-09-23
      • 1970-01-01
      • 2010-10-06
      • 2010-12-30
      • 1970-01-01
      • 2017-07-05
      • 2011-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多