Microsoft .NET Pet Shop 4.0 学习之旅(二)
项目的引用关系1
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
初看到Pet Shop 4.0的源代码觉得结构很复杂,今天我只讨论业务逻辑层(BLL)以下层。我抽象出了基本的6层,他们是:DBUtility,Model,SQLServerDAL,IDAL,DALFactory,BLL。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
1, 物理访问层【DBUtility】:负责数据库的存、取操作,包含数据库连接字符串信息和公共静态方法(完成数据库增,删,改,查)。他不引用别的任何层,属于最底层。
2, 业务实体层【Model】:负责数据库表的抽象,将数据库的表抽象成实体对象类(拥有私有成员和属性公共方法)。一个Model的实例(instance)对应数据库表的一条记录。他也不引用其他任何层,属于较底层。
3, 数据访问层【SQLServerDAL】:负责拼写数据访问的SQL语句和存储过程,然后进行处理,并将数据库返回的结果集装在自己(SQLServerDAL)的肚子里面,等待其他层调用。SQLServerDAL拿到Model的属性拼写出SQL字符串,然后放进DBUtility(机器)中执行,得到数据集(DataSet)。所以SQLServerDAL引用Model。所以SQLServerDAL引用DBUtility。因为IDAL是SQLServerDAL的接口层,用来定义数据访问层的名词空间和返回类型的。SQLServerDAL封装了接口的处理方法。他将继承于接口层。所以SQLServerDAL引用IDAL。
4, 数据访问接口层【IDAL】:是SQLServerDAL的方法抽象,SQLServerDAL处理的数据对象是Model,于是IDAL处理的参数(名词空间)同样是Model。所以IDAL引用了Model。
5, 基于上面的4个项目,4条关系,我们很清晰的得到下面的项目关系图形:
总结:IDAL引用Model,SQLServerDAL引用Model,SQLServerDAL引用DBUtility,SQLServerDAL引用IDAL。
6, 由于时间的关系,下一次介绍另外2个项目和4条关系:
注意!在博客园社区以外转载,必须注明:
作者:Clark Chan
和原文出处:http://clarkchan.cnblogs.com/
否则谢绝转载!
//