Layered System| 青训营笔记

234 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第6天

Layered System 分层架构,如发展中间件软件,将各个应用软件共性的业务功能提取出来放在中间件实现,降低了应用的开发难度控制了软件复杂度,屏蔽了一个系统底层的复杂实现,在高层为开发人员保持相对稳定的复杂度。例如os本身就是典型分层设计,内核是管理硬件的核心代码,向上一层有系统调用接口层将内核中的功能进一步封装,再由C库进一步封装提供给用户程序使用。还例如设计邮件应用和远程登陆主机应用的相同部分是都需要考虑如何对数据信号进行编码、开始结束的传输控制协议、如果发生错误如何处理...将这些共性问题抽取出来实现公共的一层软件——网络协议层。

  • Presentation Layer:获取输入数据,交给下一层,展示层
  • Business Logic Layer:判断校验转化数据,交给下一层,中间层
  • Data Access Layer:存储数据、返回数据

CS(Client-Server)客户端服务端模式,Client用户端只负责展示层提供GUI界面,通过远程网络通信获得Server提供的服务;服务器负责业务逻辑,存储、数据管理达到PC与主机任务分布式部署的目的。【两层业务系统架构】

BS架构:用户端无需本地部署,通过业务的应用服务器获得一个前端展示界面,直接通过此展示界面与后端业务逻辑代码进行交互,降低了部署和管理的开销。

Core concept:分层树状设计实现了对复杂问题的分步求解,main函数是主线,通过多个过程性的函数解决子问题实现分而治之、关注分离,每一层都可以独立维护且语义明确。