通用 BLL 和通用 DAL 的设计,挺适合想偷懒(但偷得合理)的.NET 开发者用的。靠.NET 的反射机制,这套代码能动态生成对应的业务逻辑和数据访问类,省得你每个模型都手写一遍。你要是项目里表一多,字段一堆,那这套真能省不少时间。
反射能干嘛?简单说,它能在运行时帮你创建对象、调用方法。配合Activator.CreateInstance
和MethodInfo.Invoke
,你能用一套模板搞定一堆不同的业务,写一次用十次都不夸张。
项目里有几个关键类你得看看:BaseBll
、BaseDal
负责封装公共逻辑;ReflectionHelper
让你少敲点反射代码;还有个叫AutoMapping
的,搞了个自动映射机制,数据库查出来的东西直接变成业务对象,挺省事。
了,反射不是万能药,性能上它会比直接调用慢点,调试也麻烦点,是你用Invoke
的时候,想打断点都费劲。所以建议你在数据量大或者性能要求高的地方,慎用。
如果你做的是企业后台、管理系统之类的业务型项目,而且模型变动频繁,这套代码还蛮值得集成一下的,开发速度嗖嗖的。