Asp.net mvc 如何使.NETMVC中的多层体系结构更加干燥(实体框架)
我目前正在构建一个大型web项目,尝试做所有正确的事情,将事情分为外观、服务、DAO(存储库)、助手等 还将DI与Ninject一起使用 现在,也许这仅仅是因为它接近项目的开始,但是仅仅在db中设置简单的调用就感觉需要花费很长时间 每次我想做一个新的调用,或者做一些事情,都需要在每个服务层中至少编写4个方法,并将所有的东西都进行备份等等。。每次更改db层中的某些内容时,都必须通过域对象手动复制更改,并更新手动将DAO对象转换为域对象的方法(使用分部类在DaoObject的构造函数中接受DomainObjects,并在每个DaoObject上接受ToDomainObject方法) 在每个读取DAO方法的末尾,循环遍历每个DAO对象以将其转换为域对象,感觉很混乱 我们使用的是实体框架,DBfirst。我们可以做些什么聪明的事情来让这个过程变得更加干涸,或者我们只需要等到我们的应用程序的基本基础建立起来,然后事情就会变得更容易,因为大部分管道已经铺设好了等等。特别是当你想通过组合现有的服务来提供新的服务时,这将是一件好事 部分地,在业务逻辑层中手动重新创建DAO对象感觉有些臃肿,但我可以理解,考虑它的实际方式是DAO层实际上正在映射到业务层,与使用上下文设计器相比,它感觉很慢。IE业务层决定它需要什么样的数据,而不关心数据的实际来源Asp.net mvc 如何使.NETMVC中的多层体系结构更加干燥(实体框架),asp.net-mvc,asp.net-mvc-3,entity-framework,n-tier-architecture,Asp.net Mvc,Asp.net Mvc 3,Entity Framework,N Tier Architecture,我目前正在构建一个大型web项目,尝试做所有正确的事情,将事情分为外观、服务、DAO(存储库)、助手等 还将DI与Ninject一起使用 现在,也许这仅仅是因为它接近项目的开始,但是仅仅在db中设置简单的调用就感觉需要花费很长时间 每次我想做一个新的调用,或者做一些事情,都需要在每个服务层中至少编写4个方法,并将所有的东西都进行备份等等。。每次更改db层中的某些内容时,都必须通过域对象手动复制更改,并更新手动将DAO对象转换为域对象的方法(使用分部类在DaoObject的构造函数中接受Domai
任何帮助都将不胜感激。有一件事肯定会加快您添加新功能所需的时间,那就是使用自动将DAO转换为域对象。再也没有无聊的手动属性映射了
将所有层很好地分开确实会带来一些额外的管道,但您可以将每个逻辑组件干净地分开,易于测试,易于更换。作为一个大型项目,我认为从长远来看,开销肯定会有所增加。看看T4模板生成功能。它可用于根据对DAO的更改生成\重新生成实体 看 及
获取一些想法。这个解决方案与autoMapper相比如何?autoMapper使事情变得干涸(呃),T4模板是打字的捷径。生成的代码通常一点也不枯燥。但干代码本身并不是一个目标。目标是提高可维护性。T4和AM都可以实现这一目标。