asp.net-mvc – 针对MVC Web应用程序的域驱动设计与数据库驱动设
发布时间:2020-12-16 04:37:39 所属栏目:asp.Net 来源:网络整理
导读:我正在将旧的Web窗体应用程序扩展/转换为全新的MVC应用程序.扩展既包括技术也包括业务用例.遗留应用程序是一个做得很好的数据库驱动设计(DBDD).所以对于例如如果您有不同类型的员工,如运算符,主管,商店管理员等,并且您需要添加新类型,您只需在几个表中添加一
我正在将旧的Web窗体应用程序扩展/转换为全新的MVC应用程序.扩展既包括技术也包括业务用例.遗留应用程序是一个做得很好的数据库驱动设计(DBDD).所以对于例如如果您有不同类型的员工,如运算符,主管,商店管理员等,并且您需要添加新类型,您只需在几个表中添加一些行,瞧,您的UI自动拥有添加/更新新内容的所有内容员工类型.
然而,层的分离并不是那么好. 新项目有两个主要目标 >可扩展性(适用于当前和未来的管道要求) 我打算使用域驱动设计(DDD)创建替换数据库驱动设计(DBDD)的新项目,同时牢记可扩展性要求.但是,如果将其与传统DBDD应用程序的性能进行比较,从数据库驱动设计迁移到域驱动设计似乎会对性能要求产生相反的影响.在遗留应用程序中,来自UI的任何数据调用都将直接与数据库交互,并且任何数据都将以DataReader或(在某些情况下)DataSet的形式返回. 现在有了严格的DDD,任何数据调用都将通过业务层和数据访问层进行路由.这意味着每次调用都会初始化业务对象和数据访问对象.单个UI页面可能需要不同类型的数据,这是一个Web应用程序,每个页面都可以由多个用户请求. MVC Web应用程序也是无状态的,每个请求都需要每次都初始化业务对象和数据访问对象. 或者在DDD中有一种方法可以实现DDD提供的可扩展性和DBDD提供的性能? 解决方法
您是否考虑过某种形式的命令查询分离,其中更新是通过域模型进行的,而读取来自DataReaders?全面的DDD并不总是合适的.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – GetGlobalResourceObject或Resources.Resource
- asp.net-mvc – ASP MVC中的“@”是什么意思/做什么?
- ASP.NET Web App分发
- 如何获得ASP .NET中客户端的临时端口号?
- ASP.NET – UpdatePanel和JavaScript
- .net – SqlDataSource与ObjectDataSource
- asp.net-mvc – 使用ViewModels和对System.Web.Mvc的引用是
- 使用ASP.NET 2.0处理过期会话的最有效方法是什么
- asp.net-mvc – 具有嵌套视图模型和Knockout的ASP.NET MVC
- asp.net-mvc – Spark视图引擎中的HTML注释
推荐文章
站长推荐
热点阅读