dev*_*yst 8 architecture asp.net-mvc domain-driven-design database-driven
我正在将旧的Web窗体应用程序扩展/转换为全新的MVC应用程序.扩展既包括技术也包括业务用例.遗留应用程序是一个完善的数据库驱动设计(DBDD).因此,例如,如果您有不同类型的员工,如操作员,主管,商店管理员等,并且您需要添加一个新类型,您只需在几个表中添加一些行,瞧,您的UI自动拥有要添加的所有内容/更新新类型的员工.然而,层的分离并不是那么好.
新项目有两个主要目标
我打算使用域驱动设计(DDD)创建替换数据库驱动设计(DBDD)的新项目,同时牢记可扩展性要求.但是,如果将其与传统DBDD应用程序的性能进行比较,从数据库驱动设计转向域驱动设计似乎会对性能要求产生相反的影响.在遗留应用程序中,来自UI的任何数据调用都将直接与数据库交互,并且任何数据都将以DataReader或(在某些情况下)DataSet的形式返回.
现在有了严格的DDD,任何数据调用都将通过业务层和数据访问层进行路由.这意味着每次调用都会初始化业务对象和数据访问对象.单个UI页面可能需要不同类型的数据,这是一个Web应用程序,每个页面都可以由多个用户请求.MVC Web应用程序也是无状态的,每个请求都需要每次都初始化业务对象和数据访问对象.因此,对于MVC无状态应用程序而言,DBDD更倾向于DDD以提高性能.
或者在DDD中有一种方法可以实现DDD提供的可扩展性和DBDD提供的性能?
| 归档时间: | 
 | 
| 查看次数: | 1959 次 | 
| 最近记录: |