【发布时间】:2011-06-10 18:58:27
【问题描述】:
我开始为大型 Web 应用程序规划架构,我想就从哪里开始以及使用哪些技术和/或框架获得建议和/或建议。
该应用程序将是一个基于 Intranet 的网站,使用 Windows 身份验证、在 IIS 上运行并使用 SQL Server 和 ASP.NET。它需要构建为一个主/shell 应用程序,其中包含基于某些配置设置“可插入”的子应用程序。
主应用程序或外壳应用程序是提供整体用户界面结构——页眉/页脚、为每个可用子应用程序动态构建的选项卡,以及当用户单击子应用程序时将加载的内容区域子应用程序的选项卡。因此,在主/外壳应用程序启动时,将从数据库中查询配置信息,并且根据用户和可用的子应用程序,主或外壳应用程序将动态构建选项卡(或按钮或其他东西)作为访问每个单独应用程序的一种方式。启动时,内容区域将填充“主页”子应用程序。但是,单击子应用选项卡将导致内容区域填充与该选项卡对应的子应用。
例如,我们将有一个报告应用程序、一个显示应用程序,可能还有其他几个不同的应用程序。在主/外壳应用程序启动时,在确定用户是谁后,主应用程序将查询数据库以确定用户可以使用哪些子应用程序并构建 UI。然后,用户可以在可用的子应用程序之间导航并在每个子应用程序中完成他们的工作。
最后,整个应用程序和所有子应用程序需要进行分层设计,具有表示层、服务层、业务层和数据访问层,以及诸如日志记录、异常处理等横切对象。
无论如何,我的问题围绕着从哪里开始计划类似这个应用程序的东西。
哪些技术/框架最适合为此应用程序开发解决方案? MVC? MVP?世界儿童基金会?英孚?休眠?企业图书馆?存储库模式?其他????我知道所有这些技术/框架的用途不同,但是知道要关注哪些技术/框架有点让人不知所措。 哪些是解决方案的最佳选择?对于端到端设计,哪些可以很好地协同工作? 如何为这样的事情构建 VS 项目?
谢谢!
【问题讨论】:
-
也许从一些小项目开始,了解每种技术的优缺点会是一个好的开始?
-
这就像那个打电话给体育脱口秀的人说,我有一个很短的问题,“棒球,你打得怎么样?”我认为这个问题太大了,无法在这里很好地回答,如果我可以投票结束,我会的。不是因为我认为这没有价值,只是因为这不是您所要求的论坛。
-
@Stephanie Page 你不认为作者在问一些像
what technologies/patterns should I remember when I starting large ASP.Net-based web-project这样的清单吗?几年前,我的团队开始了一个项目,他们错过了 IoC 这样的伟大事物。后来,当他们开始用自动化测试覆盖代码时,这个错误非常痛苦。如果他们在开始之前有一些best-practices清单,那么这个错误就永远不会发生。
标签: asp.net-mvc model-view-controller architecture frameworks mvp