我刚刚在ASP.NET MVC中开始我的第一个项目。在我的webforms体验中,我通常会有一个专门用于我的领域层的单独项目。在这里,我会将我的域特定对象,以及我的NHibernate映射文件和一些业务逻辑。我在网上看到的大多数示例都将这些类和业务逻辑一起放入MVC应用程序的Models文件夹中,然后从控制器调用此文件夹。根据我的经验,如果需要的话,这似乎会使得将逻辑移入不同的平台变得更加困难。具体来说,我正在考虑如果环境决定它需要将它移动到webforms应用程序的可能性。这可能是一个天真的问题,但将Domain数据放在自己的项目中还是放在Models文件夹中更好?将域对象放置在ASP.NET MVC应用程序中的最佳位置?
3
A
回答
5
如果您打算在MVC应用程序之外重用模型,则单独的类库仍然是可接受的设置。我这样做,但离开模型文件夹,并把我的意见模型。
如果你想将你的DAL放在WebForms项目的App_Code中,那么我会把它放在你的MVC项目中的模型中。否则,继续像你一样使用单独的项目。
1
我以类似的方式布局我的解决方案 - businessLogic,dataaccess,域对象都驻留在一个项目中。视图(Web,Web服务,Windows窗体,WPF ..)都进入他们自己的独立项目。
这种方式UI特定的代码不会过滤到应用程序的低层。在大多数Web项目中,我不得不将一个窗体绑定到一起,以便将新数据插入数据库或管理某些类型的应用程序,而这些应用程序在Web媒体中不可行。
如果我在业务级别的HttpCaching中烘烤,我将无法在视图之间切换。
1
我使用了类似的方法。我也使用MVC,我喜欢在一个单独的项目中使用POCO域模型。对于应用程序,我现在建设我有以下项目:
- Cms.Data
- Cms.Services
- Cms.Domain
- Cms.Web
的CMS .Data是一个数据访问项目,用于将LinqToSql或实体框架模型转换为Cms.Domain中的POCOs模型,反之亦然。 Cms.Services是一个服务项目,其业务逻辑将从/向数据层带入/发送POCO。最后,Cms.Web是使用来自控制器和POCO的服务作为模型的MVC项目。
我喜欢接受批评:)
相关问题
- 1. 在ASP.NET MVC中创建全局对象的最佳位置
- 2. 放置应用程序数据的最佳位置?
- 3. 将默认内容放入MVC应用程序的最佳位置是什么?
- 4. 在asp.net mvc应用程序中放置静态文件的最佳位置是什么?
- 5. 将自定义对象格式化程序放在ASP.NET MVC应用程序中的位置?
- 6. 将初始化代码放在ASP.Net MVC应用程序中的位置?
- 7. ASP.NET Web应用程序日志的最佳位置
- 8. 将应用程序设置放在分层mvc项目中的位置?
- 9. 将Google Analytics(分析)代码放置在ASP.NET Web应用程序中的位置
- 10. 最佳做法是放置配置我应用程序的URL?
- 11. 在asp.net mvc应用程序中处理StaleObjectStateException的位置?
- 12. JQuery:放置html标记处理程序的最佳位置
- 13. 将应用程序作用域组件放在Winforms中的位置?
- 14. ASP.NET MVC放置常量的最佳位置(从TDD角度来看)
- 15. 将母版页的代码放在MVC应用程序中的位置?
- 16. 在ASP.NET MVC应用程序中为json输出过滤域对象的最佳方法
- 17. 在Asp.net MVC应用程序中大量使用部分视图的最佳位置
- 18. 将应用程序逻辑放在Thruway应用程序中的位置?
- 19. 在MFC应用程序中,放置最顶端的try/catch的位置?
- 20. 将全局应用程序数据放在Vista中的位置?
- 21. 将重复任务放在Grails应用程序中的位置?
- 22. 将Asynctask放在应用程序中的位置
- 23. 将META-INF/services/java.sql.Driver放在web应用程序中的位置
- 24. 通常,将SQL查询放在应用程序中的位置?
- 25. 将getclicky代码放在rails3应用程序中的位置
- 26. 将grunt文件放在Spring Web应用程序中的位置
- 27. 在OOP应用程序中放置查询的正确位置
- 28. 在GWT Web应用程序中放置log4j.properties的位置
- 29. Asp.Net MVC应用程序中的子域
- 30. 在MVC(例如Django)中,放置沉重逻辑的最佳位置是什么?