asp.net-mvc – ASP.NET MVC:什么在哪里?
我即将开始开发中型ASP.Net MVC应用程序.
我想让设计正确.我打算有以下几层: > UI层(MVC) 我将使用Unity作为我的IOC容器,使用EF4.1 Code First进行数据访问. 该应用程序将拆分为几个程序集.我在确定需要哪些组件时遇到问题 >实体/域对象,例如客户,发票 我的问题是: 编辑:由@TheHurt的回答提示. 如何在组件之间引用,即哪个组件将引用哪个组件? 解决方法
这就是我可以解决的问题:
App.UI程序集: > ViewModels进入模型区域. App.Repository程序集: >具体存储库的抽象实现. App.Repository.SQL: >具体实施. App.Services组装: >抽象服务. App.Services.Implementation: >具体服务. App.Common: >共享代码. 有几个问题我还在努力解决.当您跨越服务边界时,您将丢失来自EFCF的数据注释.因此,您必须进行服务器端验证,或者必须使视图模型验证与存储库实体保持同步.感觉层次越多,DRY就越多.虽然当你的视图模型没有直接映射到你的实体时,我认为这是课程的标准.您可以将您的视图模型作为您的DTO并将它们放入Common程序集中,但如果您需要对服务具有超级灵活性,那么这似乎会过于紧密. 编辑 如果您想要将WCF集成到混合中,您可能希望创建非常接近MVC视图模型的数据协定(或使用契约作为视图模型).您可能不会向全世界公开,因为该服务将特定于您的MVC站点的实现,为了公共消费而启动另一项服务.如果您正在进行WCF服务,您可能希望在服务中拥有所有业务逻辑,控制器将只处理导航逻辑. 旁注,我试图尽可能远离“金属”,同时开发一种设计,允许我将代码分成不同的层次.如果我不能用一张纸清楚地向我的经理解释各种系统层,那么设计很可能太复杂了.如果设计得很好,大部分内容都会在Visio中看起来很漂亮. 至于事物如何相互引用:UI将引用Serivce(或服务实现,这可能不需要.只需将它们保存在同一个地方.).服务引用存储库.存储库实现没有任何内容,因为它是由IOC加载的.一切都是常见的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 用Middleware给ASP.NET Core Web API添加自己的授权验证
- asp.net – 即使在IIS的web.config中使用标签后,也会出现重
- asp.net-web-api – Web API / JsonMediaTypeFormatter接受
- asp.net-mvc – ASP MVC中的视图中的权限
- asp.net-mvc – EntityType’ApplyantPosition’没有定义键
- asp.net – 基于角色为网站实现不同视图的最佳方法是什么?
- 初识ABP vNext(8):ABP特征管理
- asp.net – MVC 4模型回归null
- 在ASP.NET AJAX中动态添加控件到UpdatePanel
- asp.net-mvc – 单个控制器的MVC多个视图
- asp.net MVC NPOI导出excel通用
- asp.net – 如何通过render事件禁用CalendarExte
- asp.net-mvc – 如何将.NET Core 2 MVC Web应用程
- asp.net-mvc – Owin如何在Application_EndReque
- asp.net-mvc – Html.ActionLink给出错误:无法解
- asp.net – 如何绑定gridview中的下拉列表?
- asp.net – 与IIS7的ASP MVC路由问题
- 在ASP.NET中开发SharePoint Web部件
- asp:Repeater 添加button 事件
- asp.net – 从HTML帮助器中的参数获取属性