我开始考虑并为大型Web应用程序开发架构,我想获得有关要使用哪些技术和/或框架的建议和/或建议。

该应用程序将是一个基于Intranet的网站,使用Windows身份验证,在IIS上运行并使用ASP.NET。它需要作为带有子WEB应用程序的主要Web应用程序进行构造。从本质上讲,整个范围是一个基于复合浏览器的Intranet应用程序,由离散的,功能完整的模块或子应用程序组成。

该复合Web客户端应用程序将具有一个主模块,以提供总体用户界面结构。此外,Shell模块将提供对所有单个子应用程序或模块都可以使用的通用服务的访问。然后,每个子应用/模块将包含其自身的功能和实现,但与Shell用户界面集成在一起。

接下来,基于用户以及哪些子应用程序可用,主或Shell应用程序将动态构建选项卡(或按钮或其他内容),以访问每个单独的应用程序。而且,我们将将用户和应用程序数据存储在数据库表中。

因此,例如,我们将拥有一个报告应用程序,一个显示应用程序以及可能其他几个不同的应用程序。在主/Shell应用程序的启动时,确定用户是谁后,主应用程序将查询数据库以确定用户可以使用并构建UI的子应用程序。然后,用户可以在可用的子应用程序之间导航,并在每个应用程序中进行工作。

我希望这一切都有意义。

无论如何,我想知道,如果有任何预先存在的技术/框架将最适合架构和开发这样的系统。

Web客户端软件工厂会是一个不错的选择吗?其他一些MVP解决方案是一个不错的选择吗? ASP.NET MVC是一个不错的选择吗?还有其他吗????这些都不是一个不错的选择,我们应该使用Web表格从头开始开发所有内容?我还应该知道还有其他信息吗?

谢谢!!!!

有帮助吗?

解决方案

ASP.NET MVC2还促进了区域的使用。这是一个可能有用的链接

http://odetocode.com/blogs/scott/archive/2009/10/13/asp-net-mvc2-preview-2-areas-areas-and-routes.aspx

基本上,您可以使用区域破坏您的“子应用”

其他提示

在讨论框架之前,在构建这样的系统时要考虑一些要点(可以插入子应用程序):

  • 可能的集成点(数据,服务,业务逻辑,UI)
  • 交叉切割问题(系统记录,审核记录,配置,安全性)
  • 谁将开发子应用程序(您,在办公室工作的人或任何人 /更大的社区)

我认为,在跳入并建立一个框架(或选择现有的框架)之前,您需要退后一步,首先考虑这些方面。

在农场上:您会发现许多框架,但很少有人提供您所追求的全部范围:

  • ASP.NET WebForm基本上是一块完全空置的土地 - 您必须自己构建大多数东西,或者带来其他框架(例如MS Enterprise库)
  • ASP.NET MVC实际上是同一件事,但风格不同。

这些都不是“框架”,但您可以将其中的任何一个用作低级基础“平台”。

  • MS ENT LIB非常适合进行交叉切割问题(例如数据访问,记录等),仅此而已。
  • 还有一系列好 依赖性反转框架 但是,这些不是一个完整的解决方案。

最大的事情是控制依赖性:确保您将数据层抽象(用于启动),遵守接口隔离,重用等方面的原理。

您可以考虑的一种选择(我在这里吹小号 - 所以我不是公正的)是我构建的开源.NET应用程序框架('Morphfolia``这花了大约5年的时间,兼职)。即使您不使用它,也可能会发现一些可以“偷窃”的好主意或代码:

Morphfolia:

可以下载 http://morphfolia.codeplex.com/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top