【发布时间】:2011-11-14 22:32:34
【问题描述】:
我的任务是为一家希望改用 MVC 进行应用程序设计的大中型公司设计一种架构。他们当前架构的简要概述:
在具有 MVC 类型架构的 Web 窗体中创建的 90 多个 Web 应用程序,但不是很实用。基本上是一个模型,塞满了你能想到的任何东西,并坚持到 Session... 乱七八糟!
一个从 CSLA.net 开始的业务对象框架,但经过大量修改,您不能再这样称呼它了。很多嵌入式 SQL,没有 SOC,与 Oracle 绑定,有点乱,但可以。
他们实现了一个“应用程序管理器”,它本质上是 Web 表单应用程序之上的另一个模型类型层。
无论如何,我正在寻找有关将 ASP.NET MVC 3 与他们现有的业务对象框架一起使用的建议,并且我想出了以下想法。
在他们的业务对象框架和 ASP.NET MVC 3 应用程序之间实现一个层,该层为控制器提供视图模型和从控制器接收视图模型。这一层将在哪里:
- 验证他们现有的业务规则并移植任何错误 返回 Web 应用程序。
- 从其对象中检索数据并 变成视图模型以回馈给控制器。
- 控制器可能会将视图模型交还给数据库以保存到数据库 使用 AutoMapper 将它们映射回它们的业务对象。
有点像服务类型层??
任何建议将不胜感激。
【问题讨论】:
-
90 多个网络应用程序?而这个任务只交给了你?我认为这需要与贵公司的技术/领域专家进行圆桌讨论,而不是真正的 SO。
-
@RPM1984 - 哈哈!我也在想同样的事情,但是这里的大多数开发人员都是老 Cobal/Main Frame 程序员,除了少数人,他们几年前被移植到 ASP.NET Web 窗体,因为框架已经成熟,并要求与它一起去。有一些人可能会得到它,但在大多数情况下,不会。无论如何,我一直在寻找任何可以带我参加这些设计会议的建议。 - 谢谢!
-
这个问题真的很难回答。基本上,我们所能收集到的只是现有的架构是一团糟,所以从它的声音来看,你不能只插入后端应用程序前面的服务,你去不得不重新考虑所有层并(很可能)重写它们。 :(
标签: asp.net-mvc-3 architecture