
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
分层架构是大多数软件开发程序员在开发软件的时候会经常用到的一种架构方式,今天贵阳达内java培训就给大家简单介绍一下,软件开发分层架构概念与历史。
一、分层概念
分层是一种常见的根据系统中的角色/职责拆分和组织代码单元的常规实践。注:本文说的不单指后端架构,而是整个软件的分层架构,包含前端、后端、数据库。
在一个分层系统中,每一层:
依赖它之下的层;
和它之上的层无关,对使用(依赖)它的层次无感知。
在分层架构中,分层可以访问它之下的任何分层。
二、分层历史
2.1单层架构
当时的应用程序和今天的应用程序截然不同。那时还没有GUI。所有的应用程序要通过命令行使用,显示在一个哑终端里,它们实际上是单层的应用程序。
2.2三层架构
在20世纪80年代,企业应用出现了,在公司里有多个用户开始使用桌面电脑通过网络访问应用。
这时它们多半分成三层:
用户界面(展现):用户界面就是网页、命令行或者原生桌面应用;
例如:作为(富)客户端的Windows应用,普通用户在桌面电脑上使用,和服务器器通信才能完成工作。客户端负责应用的流程和用户输入的校验;
业务逻辑(领域):应用之所以存在的逻辑;
例如:应用服务器,包含业务逻辑并从原生客户端接收请求,采取行动并将数据保存到数据存储;
数据源:数据的持久化机制(数据库),或者是和其它应用之间的通信。
例如:数据库服务器,应用服务器用它来完成数据持久化。
这实际上是一种两层应用,客户端是一个用为应用界面的富客户端应用程序,而业务逻辑和数据源放在服务器。
90年代后期,发展出真三层架构:
原生浏览器应用程序:渲染和运行用户界面,向服务器应用发送请求;
应用服务器:包括了展现层、应用层、领域层和持久化层;
数据库服务器:应用服务器用它来完成数据的持久化。
这就是三层架构模式,也叫N层架构。它是可伸缩的解决方案,尽管用户界面是在客户端浏览器中渲染和运行,但由于用户界面存放于服务器上并在服务器上编译,它“解决了客户端的更新问题”。
2.3多层架构
用户界面
负责绘制用户和应用交互的界面,并将用户输入转换成应用的命令。值得注意的是,“用户”可以是人类也可以是其它应用。它和IvarJacobson的EBI架构(后面其它文章会介绍更多细节)中的边界对象不谋而合;
应用层
指挥领域对象完成用户要求的任务。它不包括业务逻辑。它和IvarJacobson的EBI架构中的交互器对象对应,不同的是Jacobson的交互器可以是任意和界面或实体无关的对象;
领域层
这一层包含了所有的业务逻辑、实体、事件或者其它任何包含业务逻辑的对象类型。显然它和EBI中的实体对象类型相对应。这是系统的心脏;
基础设施
支撑上面所有层次的技术能力,如持久化机制和消息机制。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加抖音太原达内IT培训学习了解。