三层架构区分层次的目的是为了 “高内聚,低耦合”。开发人员分工更明确,将精力更专注于应用系统核心业务逻辑的分析、设计和开发,加快项目的进度,提高了开发效率,有利于项目的更新和维护工作。
三层架构有哪些:
1.数据访问层(DAL):
2.业务逻辑层(BLL):
3.表现层(UI):
三层架构的作用:
1.数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增,删,查,改等。
2.业务逻辑层(BLL):针对具体问题的操作,对数据业务逻辑处理。是表示层和数据访问层之间的连接关系。
3.表现层(UI):展现给用户的界面,用于显示数据和接受用户输入的数据。
接下来我们就实际用三层架构来实现一个登录:
首先创建数据访问层:
这个时候我们首先创建一个验证用户的接口:
1.数据访问层(DAL):
接口代码:
public interface IData { /// <summary> /// 管理员登录 /// </summary> /// <param name="user">管理员信息</param> bool UserLogon(Users user); }
接口创建完成以后 这个时候就要写管理员登录的实现接口:
管理员登录接口实现代码:
/// <summary> /// 实现管理员登录功能 /// </summary> /// <param name="user"></param> /// <returns></returns> public bool UserLogon(Users user) { return adminLogon(user); } /// <summary> /// 验证管理员的信息 /// </summary> /// <param name="user"></param> /// <returns></returns> private bool adminLogon(Users user) { bool result = false; ///处理结果......此处省略 return result; }
2.业务逻辑层(BLL):
代码如下:
///// <summary> ///// 后台逻辑层 ///// </summary> private static volatile platform _platform; private static readonly object lockObj = new object(); public static platform aidePlatform { get { if (_platform == null) { lock (lockObj) { if (_platform == null) _platform = new platform(); } } return _platform; } }
接下来就实现构造函数platfrom:
构造函数代码:
private IData _IData; #region 构造函数 /// <summary> /// 构造函数 /// </summary> //public platform() //{ // _IData = new DALhandle(); //} #endregion /// <summary> /// 管理员登录 /// </summary> /// <param name="user">管理员信息</param> /// <returns></returns> public bool UserLogon(Users user) { return _IData.UserLogon(user); }
这样就完成了DAL 和BLL
UI功能只有去调用BLL这样就实现了三层架构 逻辑清晰明了。
表现层(UI)调用:
Users user = new Users(); user.UserID = 001; user.Username = "001"; user.Password = "001"; bool msg = BLLHandle.aidePlatform.UserLogon(user); //根据数据处理返回的值来进行处理返回给前端就可以啦