三层架构是将整个业务分成:表示层,业务逻辑层,数据访问层,已达到“高内聚,低耦合”的思想;当一个软件系统较大时,采用分层的思想,可以降低复杂度。
【划分】
经典三层可以按照物理和逻辑两种划分方式,物理的划分方式是基于物理硬件的结构来划分的,使系统更容易布局到实际应用中;逻辑划分则站在软件设计的角度进行的划分。
【依赖关系】
添加的实体负责各层之间的数据传递。
【功能】
三层的设计理念大大简化了设计复杂度,有利于开发过程的分工,提高各个逻辑层之间的复用,降低开发成本和开发时间。我们必须了解三层功能的基本功能的基础上才能学会如何应用。
DAL层(最底层):实现对数据库数据操作的增、删、改、查。常常用到的技术是ADO.NET+SQL语句、O/R Mapping架构。这次的登陆窗体时间用到的就是ADO.NET+SQL语句:
数据连接常用的ADO.NET类库有:connection类,command对象,Datareader类,Dataset对象,Dataadapter类和Datatable类。
connection:建立与数据库连接。连接的内容是“SDUP”,即:server(服务器),database(数据库名称),User ID(用户ID),Password(用户密码)。举例:
connString = "Server=服务器名称;Database=数据库名称;User ID=数据库登陆用户ID;Password=用户密码"
command对象:对数据库执行相应的命令。常用属性和方法:
DataReader:从数据表中读取一串数据。
DataSet对象:数据在内存表中的表现形式。
DataTable:是VB或ASP中的控件,网格化的结构,无需代码即可绑定数据库。
BLL(中间层):从UI层获得指令操作和操作数据,执行业务逻辑,将数据传送给DAL发送到数据源;从DAL获得数据供给UI显示。
UI(高层):采集和和显示用户操作,不包含任何业务逻辑
【总结】
三层的基础知识了解以后,任然存在很多问题:像提醒业务操作的弹出框(包含少量的逻辑判断)应该放到U层还是B层?对界面上文本框数据清除是放到U层还是B层?在接下来的学习过程中该慢慢体会并对这些处于层次交界处的逻辑划清界限。