gpt4 book ai didi

asp.net-mvc - 架构决策 : ASP. NET MVC 和 Entity Framework

转载 作者:行者123 更新时间:2023-12-05 08:21:16 24 4
gpt4 key购买 nike

我遇到架构决策问题:我们即将构建一个新的应用程序,我们决定使用 ASP.NET MVCEntity Framework(可能首先使用数据库)。在第一个阶段,我们只会为普通浏览器构建一个 Web 应用程序,但在未来我们可能会添加移动应用程序。 (SOA?)

我现在的问题是构建应用程序架构的最佳方式是什么?

这对吗?

  1. Mvc项目
    • 模特
    • 查看
    • 控制者
  2. DAL 项目
    • 持有 edmx 和 T4 模板

我一直在寻找示例、模式和最佳实践,但似乎找不到合适的东西。

谢谢!

最佳答案

我通常构建解决方案的方式(编辑适用于 NuGet)

  1. 网站 (MVC)
    • 控制者
    • 浏览量
    • 内容(脚本、CSS、图像等)
  2. 演示模型(对于简单的项目,这将嵌入到网站中)
    • 查看模型
    • 模型映射器
  3. 业务逻辑
    • 规则
    • 本地扩展(Web 和通用)
  4. 数据(如果复杂,请为每个上下文/存储库/模型使用单独的子文件夹)
    • 存储库
    • 实体模型
    • 数据上下文和配置
  5. 网络库(可能作为通过本地 NuGet 提供的单独解决方案)
    • 扩展(对 MVC/Web 类)
    • 辅助类=属性
  6. 通用库(可能作为通过本地 NuGet 提供的单独解决方案)
    • 扩展
    • 辅助类

依赖关系沿着这个结构向上流动,即,上面的东西可能引用下面的东西,但反之则不然。每个项目我也会有一个单独的测试项目。在某些情况下,我将外部共享库用于使用 NuGet 打包并托管在本地存储库中的 Web/通用类。

对于移动设备,如果您要通过网络访问,我会使用 jQuery Mobile 和移动感知 View 引擎将其直接构建到网站中。如果您正在考虑原生,那么我会添加一个 WebAPI 层,它可能会或可能不会与用于 API 交付的网站共享相同的 View 模型,并在该结构之外针对 API 开发移动应用程序。 API 很可能有自己的模型,并且位于业务层之上的单独堆栈中。在我当前的项目中,我们将数据放在单独的解决方案中,并在单独的解决方案中开发 API 和网站,通过 NuGet 包共享模型。

关于asp.net-mvc - 架构决策 : ASP. NET MVC 和 Entity Framework ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10515623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com