1.什么是三层,有哪些三层?
我理解的三层架构就是把整个业务或项目给分解成三个层:
(1)表示层 UI
(2)业务逻辑层 BLL
(3)数据访问层 DAL
既有数据访问层,又有BLL层的时候,就需要三层的结构,当业务复杂到一定程度之后,数据访问脱离业务,脱离UI的时候,就需要三层架构;使用三层会在设计阶段有很明确完整的规划,并且会让软件开发者有着清晰的思路去开发项目;三层结构适合大中型项目的开发,分层设计更容易解决数据库升迁,升级维护所带来的的一系列的问题,可以使程序代码高内聚,低耦合。
2.每一层的作用:
(1)UI 层:用户直接可以看到,使用;为用户提供各种功能的实现;为了数据库收集用户的各种信息;
不包含任何业务相关的逻辑处理。
先拿登录界面举个例子:
//访问BLL需要它提供的服务
string userName = txtUserName.Text.Trim();
string password = txtPassword.Text;
Login.BLL.LoginManager mgr = new Login.BLL.LoginManager();
Login.Model.UserInfo user = mgr.UserLogin(userName, password);
MessageBox.Show("登录用户:" + user.UserName);
(3)BLL层:是业务逻辑层,(因为现实层UI 不能直接和数据源DAL打交道)所以有了BLL业务逻辑层来作为一种媒介,
通过UI传递过来的操作命令,然后决定执行业务逻辑,
在需要访问的时候直接交给DAL数据访问层处理,然后再返回必要的数据给UI。
public Login.Model.UserInfo UserLogin(string userName, string password)
{
throw new NotImplementedException();
Login.DAL.UserDAO uDao = new Login.DAL.UserDAO();
Login.Model.UserInfo user = uDao.SelectUser(userName, password);
if (user !=null ) //如果登录成功,就给该用户增加积分。
{
Login.DAL.ScoreDao sDAO = new Login.DAL.ScoreDao();
sDAO.UpdateScore(userName, 10); //增加10积分
}
else
{
throw new Exception("登录失败");
}
(2)DAL层:(1)从数据源加载数据(Select)
(2)向数据源写入数据(Insert / Update)
(3)从数据源删除数据(Delete)
DAL层仅仅只是提供基本的数据访问,不包含任何业务相关的逻辑处理。
三层架构也可以理解成是“机房重构”的前奏。三层架构降低了系统代码的耦合,分工明确,提高了效率和代码的准确性。
本文介绍了三层架构的概念,包括表示层UI、业务逻辑层BLL和数据访问层DAL,强调了各层的作用和在大型项目中的优势,如代码高内聚、低耦合,便于维护和升级。
&spm=1001.2101.3001.5002&articleId=97820291&d=1&t=3&u=caa173ce4ffa4c05a41b12235e2fe71d)
1万+

被折叠的 条评论
为什么被折叠?



