三层架构的优点和缺点
三层应用程序架构是一种模块化客户端-服务器架构,由表示层、应用程序层和数据层组成。表示层是与其他两层交互的图形用户界面 (GUI);数据层存储信息;应用程序层管理逻辑。
三层架构在水平可扩展性、性能和可用性方面具有优势。当有三层时,每个组件都可以由一个单独的程序员团队使用与其他层开发人员不同的编程语言同时生成。三层模式使组织或软件打包商能够更轻松地随着新需求和新机遇的出现而不断扩展应用程序,因为可以修改或重新定位一层的编程而不会影响其他层。
三层架构的优势
以下是三层架构的主要优势
数据完整性得到增强。在这里,第二层是所有更新信息传递的地方。它可以确保只允许更改数据库中的关键数据,从而消除了不可靠的客户端应用程序破坏数据的可能性。
由于客户端无法直接访问数据库,因此安全性得到了提高,因为客户端收集未经授权的数据更具挑战性。由于业务逻辑保存在安全的中央服务器上,因此更加安全。
应用程序可以使用易于扩展的组件来利用支持系统的模块化架构,从而提高可用性。
由于任务分离,Web 设计人员处理演示,软件工程师处理逻辑,数据库管理员处理数据模型。
每一层都独立于其他层,允许进行更新或更改而不会对整个程序产生影响。
在业务层中定义一次的任何代码都可以由表示层中与业务层组件一样多的组件共享。
只有必要的业务层方法才能显示在表示层中。
在更新数据库之前,可以在应用程序层检查或确认所呈现的数据。
请求者通常看不到数据库的真实结构,因此任何数据库更改透明。因此,即使底层数据库结构发生变化,与其他应用程序交换数据的中间层流程也可以保持其当前用户界面。
三层架构的缺点
以下是三层架构的缺点
三层结构使开发人员难以以敏捷性和灵活性更新应用程序,以满足移动用户的需求,也使运营团队难以扩大或缩小服务以满足需求。
具有三层设计的应用程序在应用程序开发过程的不同阶段灵活性较差。虽然应用程序的功能可以分解为模块,但更改其中任何一个模块都意味着重建和测试整个应用程序。这可能需要大量的工作。
需要对面向对象概念有深入的理解。
因为创建 3 层应用程序比创建 2 层应用程序需要更多的工作,所以它比 2 层客户端-服务器计算模型更复杂。还有两个额外的通信源。
可能需要一个不同的代理服务器。
不支持分布式或远程访问数据工具。
有时代码的整体性质会增加维护部分。
在构建 3 层应用程序时,由于接触点数量增加,通常需要付出更多努力。
提高性能需要更多工作,而 2 层模型可以使用自动化工具处理特定工作。
由于大多数应用程序逻辑由客户端控制,因此在管理软件版本和分发更新版本时会出现问题。