zoukankan      html  css  js  c++  java
  • 《三层理论篇》二

    四、三层之间的联系


    依赖:三层之间的关系

    数据訪问层的类:直接訪问数据库,实现对基本记录的增删改查操作。

    业务逻辑层的类:用相关的数据訪问类,实现用户所需功能。

    界面层:部署控件后,调用业务逻辑层的类,实现功能。

    图解:



    实体类:层之间的传输数据对象

    为什么选择实体类作为三层之间的传输对象?

     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、有时会导致级联的改动。这样的改动尤其体如今自上而下的方向。

    假设在表示层中须要添加一个功能,为保证其设计符合分层式结构,可能须要在对应的业务逻辑层和数据訪问层中都添加对应的代码。

     

    总结三层的应用实现对程序分而治之。系统各个层次各司其职。使应用程序更可以适应企业级应用日益增长的复杂度和灵活性的要求,而且通过软件分层的高内聚、低耦合的原则,实现扩展、维护和重用的要求,可以大大提高开发效率。


  • 相关阅读:
    【转】WCF入门教程六[一个简单的Demo]
    【转】WCF入门教程五[WCF的通信模式]
    【转】WCF入门教程四[WCF的配置文件]
    【转】WCF入门教程三[WCF的宿主]
    【转】WCF入门教程二[WCF应用的通信过程]
    【转】WCF入门教程一[什么是WCF]
    【转】浅谈.net remoting 与webservice
    【转】Microsoft .Net Remoting之Remoting事件处理全接触
    egret升级经验记录
    cmder小技巧
  • 原文地址:https://www.cnblogs.com/lytwajue/p/6749484.html
Copyright © 2011-2022 走看看