AI智能
改变未来

新人如何搭建三层架构

一 三层架构是哪三层

1.界面层(User Interface layer)
主要功能是显示数据和接受传输用户的数据,提供与人的交互。

2.数据访问层(Data access layer)
其主要是访问数据系统中的文件,比如实现对数据库或文件中数据的读取保存操作

3.业务逻辑层(Business Logic Layer)
可以说是表示层和数据访问层的桥梁,从表示层得知用户的操作,然后根据操作从数据访问层获取数据进行相关操作再返回给表示层

优缺点
优点
  1、开发人员可以只关注整个结构中的其中某一层;
  2、可以很容易的用新的实现来替换原有层次的实现;
  3、可以降低层与层之间的依赖;
  4、有利于标准化;
  5、利于各层逻辑的复用。
缺点
  1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
  2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。

二 如何构造三层架构

步骤1

文件—新建—项目—Windows窗体应用程序
名称:UI
解决方案名称:个人任务管理系统

选中解决方案名称:个人任务管理系统
添加—新建项目—类库
名称:Model

选中解决方案名称:个人任务管理系统
添加—新建项目—类库
名称:BLL

选中解决方案名称:个人任务管理系统
添加—新建项目—类库
名称:DAL

完成之后如图所示

步骤2

DAL 添加引用
Model

BLL 添加引用
DAL,Model

UI 添加引用
BLL,Model

下面只显示UI层引用

步骤3
Model编写Project类文件

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Model{public class Project{/// <summary>/// 项目编号/// </summary>public int ProjectID { get; set; }/// <summary>/// 项目名称/// </summary>public string ProjectName { get; set; }}}

步骤4
DAL编写SqlHelper类文件和ProjectService类文件
代码如下

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;using System.Configuration;namespace DAL{public class SqlHelper{   //连接数据库private static string strConn = ConfigurationManager.ConnectionStrings[\"TestConnectionString\"].ConnectionString;//查询方法public static DataTable Query(string sql){using (DataTable table = new DataTable()){using (SqlDataAdapter sqlAdapter = new SqlDataAdapter(sql, strConn)){sqlAdapter.Fill(table);}return table;}}//增删改public static int NonQuery(string sql){int num = 0;using (SqlConnection sqlConn = new SqlConnection(strConn)){using (SqlCommand sqlcmd = new SqlCommand(sql, sqlConn)){try{sqlConn.Open();num = sqlcmd.ExecuteNonQuery();}finally{if (sqlConn.State == ConnectionState.Open){sqlConn.Close();}}}}return num;}}}
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;namespace DAL{public class ProjectService{public static DataTable Select(){var sql = \"select*from Project\";return SqlHelper.Query(sql);}}}

步骤5
BLL编写ProjectManage类文件

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using DAL;using Model;namespace BLL{public class ProjectManage{public static DataTable Select(){return ProjectService.Select();}}}

完成步骤3~步骤5后如下图所示

三层架构构建完毕。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 新人如何搭建三层架构