确定n层应用程序中的层数

时间:2012-03-20 12:47:00

标签: .net n-tier-architecture

我正在开发一个基于Web的应用程序,其主要目标是从数据库中获取数据,在UI上显示它,接收用户输入并将它们写回数据库。该应用程序不会进行任何工业强度算法运算,但在高峰时间(如下所述)将会收到非常多的点击量,这将在一天之内发生变化......

图层是典型的演示文稿,商业,数据。数据层由数据库服务器负责。业务层将包含通过tcp访问数据库服务器的DAL组件。我必须将这些层分成层的选择是:

  1. 演示文稿和业务层可以保持相同 层。

  2. 独立层上的表示层本身和业务 单独在一个单独的层上。

  3. 在选择2的情况下,表示层将使用WCF服务通过http或tcp访问业务层。

    我没有看到在Business层上进行任何繁重的处理,所以我倾向于上面的选项1。我也觉得出于同样的原因,添加新层只会引入网络延迟。但是,就可扩展性而言,我需要扩展或扩展,这是一个更好的方法吗?该应用程序需要能够每小时支持多达600万用户。每个用户会话中将有合理数量的数据,存储用户的首选项和其他详细信息。我也将使用页面级缓存..

    感谢您的时间......

1 个答案:

答案 0 :(得分:2)

在谈论简单的CRUD Web应用程序时,我真的不喜欢“n-tier-architecture”这个术语。选择像MVC这样的设计模式,然后去做吧。完全忘掉层级。

您的应用程序不够大或不足以担心单独扩展单个组件。很可能,您的应用程序将成为单个VS解决方案(甚至可能是项目中的单个应用程序)。如果我所说的任何内容似乎有点意思,我道歉,但我几乎把我在同一个桶里建的所有东西都算在内。此外,如果我所说的任何内容在您的具体项目中完全不正确,我会再次道歉,并谦卑地接受这些事。这听起来好像你在想这个。建立并看到。

您正在构建一个具有输入,显示和数据访问权限的网站。启动一个新的ASP.NET MVC解决方案,然后去镇上。