【问题标题】:ASP.Net Architecture regarding seperation of layers in large projects关于大型项目中层分离的 ASP.Net 架构
【发布时间】:2010-12-11 05:16:05
【问题描述】:

目前处于使用 ASP.Net MVC 开发一个非常大的项目的早期阶段。

目前我们正在使用标准格式(即每个模型/视图/控制器的文件夹)我已经开始看到一个大型代码库,它有可能乘以 100 倍,并且为了未来的可维护性我'我考虑将所有模型和业务逻辑移动到一个单独的类库中,将控制器和视图留在 MVC 项目中。

有人对此有任何想法吗?有没有人有类似的经历?

【问题讨论】:

    标签: asp.net asp.net-mvc architecture


    【解决方案1】:

    您绝对应该将业务逻辑中的模型移动到一个或多个单独的库中。即使对于非常小的网站,我也会这样做。基本上没有缺点,它允许您在非 Web 应用程序中使用您的模型和业务逻辑。

    为了澄清,我将视图/表示模型保存在 Web 项目中,并将实体/域模型保存在单独的模型库中。

    【讨论】:

    • 至于您的 DAL,我假设您已将其放入您的库中?
    • 假设我们有一个 viewModel 调用 UserProfile,它是从用户对象(Linq 2 SQL 数据库表)中填充的,您在哪里有将用户对象转换为 UserProfile 视图模型的代码?跨度>
    • 我通常从实体投影到控制器动作中的视图模型。通常,这是一个微不足道的 LINQ 查询。当查询变得不平凡时,这是一个更复杂的问题。
    • 有人知道这种架构的任何样本吗?
    【解决方案2】:

    看看S#arp architecture

    它将模型、控制器和服务层分隔在单独的 dll 中。

    它还有区域的概念(最近也在 MVC2 中引入)

    它是大型项目的 MVC 架构的最佳示例之一。

    【讨论】:

      猜你喜欢
      • 2013-09-10
      • 1970-01-01
      • 2012-09-18
      • 2015-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多