《三层理论篇》二
四、三层之间的联系
依赖:三层之间的关系
数据訪问层的类:直接訪问数据库,实现对基本记录的增删改查操作。
业务逻辑层的类:用相关的数据訪问类,实现用户所需功能。
界面层:部署控件后,调用业务逻辑层的类,实现功能。
图解:
实体类:层之间的传输数据对象
为什么选择实体类作为三层之间的传输对象?
ORM(对象关系映射)
Object Relational Mapping,简称ORM,是为了解决面向对象的类,与关系数据库的表之间。存在的不匹配的现象,通过使用描写叙述对象和关系之间映射的元数据,在程序中的类对象,与关系数据库的表之间建立持久的关系,用于在程序中描写叙述数据库表。本质上就是将数据从一种形式转换到第二种形式。ORM是一个广义的概念,适应于关系数据库与应用程序之间的各类数据转换。
数据库中课程表的转换。 Course表设计视图
能够这样设计类来描写叙述它:
Public Class Course Dim _courseid As String Dim _courseName As String Dim _courseCredit As String Public Property CourseID() As String Get Return _courseid End Get Set(value As String) _courseid = value End Set End Property Public Property CourseName() As String Get Return _courseName End Get Set(value As String) _courseName = value End Set End Property Public Property CourseCredit() As String Get Return _courseCredit End Get Set(value As String) _courseCredit = value End Set End Property End Class
将表中的每一个字段抽取为类的字段(注意类型匹配)。并封装成属性,将表抽取为类。这样的类就称为实体类。这个抽取过程称为对象关系映射ORM。,我们为数据库的每一个表,都设计一个对应的实体类。这样,就相当于对每一个表实体。在.NET程序中,都能够通过类对象来应用。在三层中设计中。通常都会用到实体类对象。
传输数据过程:
三层和实体类之间的依赖关系:
五、三层的优缺点:
长处:
1、能够减少层与层之间的依赖。
2、开发者能够仅仅关注整个结构中的当中某一层;
3、能够非常easy的用新的实现来替换原有层次的实现;
4、利于各层逻辑的复用。
5、添加系统的灵活性,有利于系统的扩展。有利于标准化;
缺点:
1、减少了系统的性能。假设不採用分层式结构,非常多业务能够直接造訪数据库,以此获取对应的数据,现在却必须通过中间层来完毕。
2、有时会导致级联的改动。这样的改动尤其体如今自上而下的方向。
假设在表示层中须要添加一个功能,为保证其设计符合分层式结构,可能须要在对应的业务逻辑层和数据訪问层中都添加对应的代码。
总结:三层的应用实现对程序分而治之。系统各个层次各司其职。使应用程序更可以适应企业级应用日益增长的复杂度和灵活性的要求,而且通过软件分层的高内聚、低耦合的原则,实现扩展、维护和重用的要求,可以大大提高开发效率。