【发布时间】:2012-05-10 08:39:42
【问题描述】:
我目前正在构建一个大型 Web 项目,尝试做所有正确的事情,将事情拆分为外观、服务、DAO(存储库)、助手等
也将 DI 与 Ninject 一起使用
现在,也许这只是因为它接近项目的开始,但感觉就像在数据库中设置简单调用需要很长时间?
每次我想进行新的调用或做某事时,至少需要通过每个服务层编写 4 个方法,将事情一路备份等等。每次您在 db 层中更改某些内容时,您必须通过域对象手动复制更改,以及更新手动将 DAO 对象转换为域对象的方法(使用分部类在 DaoObject 的构造函数中接受 DomainObjects,并在每个 DaoObject 上使用 ToDomainObject 方法)
在每个读取DAO方法的末尾循环遍历每个DaoObject将其转换为域对象感觉很混乱。
我们正在使用实体框架 DBfirst。有什么聪明的方法可以让这个过程更加干燥,还是我们只需要等到我们应用程序的基本基础构建完成,然后事情就会开始变得更容易,因为大部分管道已经铺设等等。尤其是当您想通过合并现有服务来开发新服务时,它会很好。
部分是在业务逻辑层手动重新创建DAO对象感觉很臃肿,但是我可以理解,实际的思考方式是DAO层实际上是映射到业务层,只是感觉比较慢使用上下文设计器。 IE 业务层决定了它需要什么数据,而不关心它实际来自哪里。
任何帮助将不胜感激。
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 entity-framework n-tier-architecture