【发布时间】:2011-01-01 02:56:17
【问题描述】:
注意:当我提到层级时,我指的是物理层级。本网站上与“层”相关的许多问题都涉及逻辑层,这不是我要问的。
我正在使用标准的“3 层”架构设计应用程序,其中包括表示层、业务逻辑 (BLL) 和数据访问 (DAL) 层。技术是 WPF、C#、LINQ 和 SQL Server 2008。我的问题与这个应用程序的物理架构有关。
我可以将 BLL/DAL 放在一个标准 DLL 中,该 DLL 在用户机器上加载和运行,形成一个 2 层架构 - 客户端机器和数据库服务器。但将 BLL/DAL 转换为 WCF 服务并不难,该服务位于应用服务器上并从用户计算机调用。这会给我一个 3 层架构 - 客户端机器、应用服务器和数据库服务器。
我的问题是 - 使用 3 层架构有什么优势?我经常被告知 3 层增加了可扩展性,但我并没有立即明白为什么会这样。同样的数据必须在网络上进行两次跳跃——从数据库服务器到应用程序服务器,然后从应用程序服务器到客户端机器,你肯定会受到性能的影响。
我非常感谢经验丰富的架构师和开发人员的建议。
【问题讨论】:
标签: c# sql-server architecture