刚刚看完传智播客关于.net三层架构的视频
● c#是面向对象的语言,则c#操作的是对象。
● 三层架构是一种思想:把从【数据库读取】-到-【展现】的过程分为三个层来处理。
数据访问层(DAL:Data Access Layer):负责所有关于数据库操作的事情,离开了这个层就不能再出现任何和数据相关的操作,都只能是对【对象】的操作。
业务逻辑层(BLL:Business Logic Layer):负责把从数据层得到的数据(视图、字符串、数字等),按数据模型封装为一个【对象】,对象的属性存储数据。
表现层(UI:User Interface):操作逻辑层的对象进行,把对象中的数据展现给前台界面。
扩展:
数据模型(model ):创建数据对象模型类,一个模型类对应一张表,一般该模型只有属性,并且属性一一对象表的字段。
公共类(common):存放公共的类。
● 除了UI层是WEB(或者窗体)应用程序,其他层都是一个单独的程序集,各个层根据需要相互引用。严格的分层是:表现层只能引用逻辑层,不能引用数据层,他们之间通过业务逻辑层进行沟通,这就是分层。
● 三层最最重要的意义是:
把数据封装成对象,使得整个过程是完成面向对象的去操作,不是对数据进行操作。
更好的维护性:每个层的修改都不会对其他层产生任何影响。
● 三层操作流程:
数据层类A,逻辑层类B,表现层类C,数据模型M。
C调用B,传入SQL语句,根据返回的M,按照需求把M的属性值读取展示。------操作的是B对和M对象
B调用A,传入SQL语句,根据返回的数据调用M,把数据赋值给M的属性,返回M。------操作的是A对和M对象
A根据SQL语句操作数据库,返回数据。------操作的是ADO.NET的各个对象