一提到三层架构,就让我想到为了完成基于活动记录开发模式之数据库的crud工作,需要为所有的表去实现的最基本的 add/update/delete/select/selectPage;这些都是重复代码,当时的解决方法就是代码生成器,有了代码生成器,就可以不用去面对这些重复代码。
这里我通过泛型基类来去掉我们的重复代码,先看看改造前的dal层写法“
是吧,这就是经典的dal层写法,我们可以看到增删改查的几个代码
再看看改造后的代码
重点看BaseRepo<Words> 这个是通过泛型实现的基类,代码如图:
这个是我中转实现的,用来完成DapperRepository的构造函数需要的2个参数,这样我的每个表都不需要重复去给构造参数了,因没引入ioc,所以直接给出new 实例而不是构造注入的方式
具体看github上的dapper poco的仓储实现 http://dapper.phnx47.net/
对应的 dll引用:
Install-Package MicroOrm.Dapper.Repositories
bll层也可以类似的完成这样的基类功能,不需要每个都写 add
谢谢/。