上次实现了依赖注入,但是web项目必须要引用业务逻辑层和数据存储层的实现,项目解耦并不完全;另一方面,要同时注入业务逻辑层和数据访问层,注入的服务直接写在Startup中显得非常臃肿。理想的方式是,web项目近引用接口而不引用实现,在配置文件中进行配置实现程序集合类,注入业务逻辑层而不必注入数据访问层。
一、数据访问层
在项目中摒弃数据访问层或者使用EntityFramework作为数据访问层。
在项目中数据访问层主要实现数据的存储,仔细看一下EntityFramework发现DbContext的功能完全实现了查、增、删、改等各种操作,并且有缓存等功能,本身就实现了仓储模式,并且比自己封装的数据存储层的功能还强大,干脆在项目中用EntityFramework作为数据存储层。删除掉Ninesky.InterfaceDataLibrary项目和Ninesky.DataLibrary项目。
注:项目结构调整的确实太频繁了,以后一段时间内绝不再调整了。
二、实现业务逻辑层。
添加业务逻辑层接口项目Ninesky.InterfaceBase
1、添加接口基类接口InterfaceBaseService,添加基本的查、增、删、改方法
Vi
