前言
相对于三层来说,七层则是加上了外观模式、抽象工厂模式,以及多了一些接口,更加的解耦和符合开放封闭原则。个人见解,想了解7层,必须敲一个小demo,不然真的无法理解到其中的精髓。
7层是怎样的
各层的作用:
UI层:接收和显示用户的需求,将参数传递给外观层。
Facade层:传递参数,将UI层与BLL层分离。
BLL层:主要业务的判断和处理。
Factory层:使用抽象工厂+反射+配置文件,数据库可以随时更换。以及将DAL层的类转换成IDAL层的接口实现,从而BLL层可以通过IDAL层访问DAL层。
IDAL:数据访问层,解耦BLL层和DAL层。
DAL层:数据层,对数据的增删改查。
Entity:实体层,贯穿于各层之间,联系各层。
SqlHelper层:主要是DAL的封装和抽象。
抽象工厂+反射+配置文件如何实现数据库更改
<appSettings>
<add key ="DBString" value="Server=CAROLINE\SQLEXPRESS;Database=Login;User ID=sa;Password=123456"/>
</appSettings>
public static readonly string strDB = System.Configuration.ConfigurationManager.AppSettings["DBString"];
return (要实现的东西)Assembly.Load(strDB).CreateInstance("命名空间.类名称");
配置文件:为了遵守“开闭”原则,当项目维护需要修改时,我们不修改程序,而是修改配置文件。直接把关键字"DBString"提取赋值代码中,以此实现在数据库的更换。