接口层的作用:作用解耦业务逻辑层对数据库访问层直接的依赖,在业务逻辑层和数据库访问层之间加入接口层,让业务逻辑层去依赖接口层,数据库访问层如果要修改,只要接口不变化,且数据访问类实现了接口,业务逻辑层就不需要进行修改。如下图,可以进行EF_DAL和ADO.NET_DAL的方便切换。
接口层的使用:UI层与业务逻辑层之间使用抽象工厂模式建立接口层,业务逻辑层与数据访问层之间也使用抽象工厂模式建立接口层。如下图。
抽象工厂实现方式:通过抽象工厂的静态方法读取配置文件获取一个实体工厂对象,使用刚刚获取的实体工厂的静态方法反射得到实体产品。
图1只是对数据访问层和业务逻辑层的关系进行描述,UI层跟业务逻辑层关系相似。因为使用了反射,所以可以将抽象工厂简化,真正的抽象工厂模式如图2.
图1-----
图二-----
图三(数据访问层详细架构)------
图四(最终架构图)------