Asp.net mvc 架构决策:ASP.NETMVC&;实体框架
我遇到了架构决策问题: 我们即将构建一个新的应用程序,我们决定使用ASP.NET MVC和实体框架(可能首先使用数据库)。在第一阶段,我们将只为常规浏览器构建一个web应用程序,但在未来,我们可能会添加移动应用程序。(SOA?) 我现在的问题是,构建应用程序体系结构的最佳方式是什么 这是正确的吗Asp.net mvc 架构决策:ASP.NETMVC&;实体框架,asp.net-mvc,asp.net-mvc-3,entity-framework,architecture,n-tier-architecture,Asp.net Mvc,Asp.net Mvc 3,Entity Framework,Architecture,N Tier Architecture,我遇到了架构决策问题: 我们即将构建一个新的应用程序,我们决定使用ASP.NET MVC和实体框架(可能首先使用数据库)。在第一阶段,我们将只为常规浏览器构建一个web应用程序,但在未来,我们可能会添加移动应用程序。(SOA?) 我现在的问题是,构建应用程序体系结构的最佳方式是什么 这是正确的吗 MVC项目 模型 看法 控制器 DAL项目 保存edmx和T4模板 我一直在寻找例子、模式和最佳实践,但似乎找不到合适的 谢谢大家! 我认为您选择了正确的应用程序体系结构,我们在一个项目中也使用
- 模型
- 看法
- 控制器
- 保存edmx和T4模板
谢谢大家! 我认为您选择了正确的应用程序体系结构,我们在一个项目中也使用了相同的应用程序体系结构
MvcProject
Model
View
Controller
DAL project
Holds edmx and T4 templates
我认为您选择了正确的应用程序体系结构,我们在一个项目中也使用了相同的应用程序体系结构
MvcProject
Model
View
Controller
DAL project
Holds edmx and T4 templates
听起来你的团队还没有足够的信息来做出决定。我知道这就是为什么你在这里问这个问题,但你不应该依赖你得到的任何答案。ASP.NET MVC和EF对您来说可能是一个很好的解决方案,但您不应该在至少没有参加过书呆子晚餐或教程的情况下选择它
完成此操作后,您将能够回答自己关于体系结构的问题,并且可能还会发现一些其他问题。听起来您的团队还没有足够的信息来做出决策。我知道这就是为什么你在这里问这个问题,但你不应该依赖你得到的任何答案。ASP.NET MVC和EF对您来说可能是一个很好的解决方案,但您不应该在至少没有参加过书呆子晚餐或教程的情况下选择它
完成此操作后,您将能够回答自己关于体系结构的问题,并且可能还将发现一些其他问题。我通常构建解决方案的方式(编辑适用于NuGet)
- 控制器
- 观点
- 内容(脚本、css、图像等)
- 视图模型
- 模型映射器
- 规则
- 本地扩展(Web和通用)
- 存储库
- 实体模型
- 数据上下文和配置
- 扩展(到MVC/Web类)
- 助手类 =属性
- 扩展
- 助手类
对于移动设备,如果您通过web访问,我会使用jQuery mobile和移动感知视图引擎将其直接构建到网站中。如果您认为是原生的,那么我会添加一个WebAPI层,该层可能与用于API交付的网站共享相同的视图模型,也可能不共享相同的视图模型,并根据API开发此结构之外的移动应用程序。API很可能有自己的模型,并且位于业务层之上的一个单独的堆栈中。在我当前的项目中,我们将数据放在单独的解决方案中,并在单独的解决方案中开发API和网站,通过NuGet软件包共享模型。我通常构建解决方案的方式(编辑适合NuGet)
- 控制器
- 观点
- 内容(脚本、css、图像等)
- 视图模型
- 模型映射器
- 规则
- 本地扩展(Web和通用)
- 存储库
- 实体模型
- 数据上下文和配置
- 扩展(到MVC/Web类)
- 助手类 =属性
- 扩展
- 助手类
对于移动设备,如果您通过web访问,我会使用jQuery mobile和移动感知视图引擎将其直接构建到网站中。如果您认为是原生的,那么我会添加一个WebAPI层,该层可能与用于API交付的网站共享相同的视图模型,也可能不共享相同的视图模型,并根据API开发此结构之外的移动应用程序。API很可能有自己的模型,并且位于业务层之上的一个单独的堆栈中。在我当前的项目中,我们将数据放在单独的解决方案中,并在单独的解决方案中开发API和网站,通过NuGet软件包共享模型。基本策略可能包含以下内容:
- 数据项目
- EF模型
- 实体/T4代
- 逻辑工程
- 应用规则
- 与t的表示无关的逻辑