系统架构简单图解

本文详细介绍了四种常见的软件架构模式:三层架构、MVP、MVC和DDD,分别阐述了它们的组成、工作流程及各层之间的依赖关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.三层架构:

说明:

A.UI依赖于IBLL,UI通过BLL层的唯一入口(门面模式、工厂模式)来获得相应的业务服务对象(业务服务对象以业务为原则创建,比如:处理用户相关的业务,可定义UserService类);UI层不应包含任何的逻辑代码(最多只允许包含一部份与UI相关的逻辑)

B.BLL层中处理UI发过来的请求,并及时进行相应的处理(数据验证,向DAL层发送查询数据或持久化数据等),处理后返回UI所需的资源;BLL层依赖于IDAL,同样BLL通过DAL层的唯一入口(门面模式、工厂模式)来获得相应的数据访问对象(数据访问对象以业务所需数据或数据表为原则创建,比如:支付,可定义:PayDao类,类中包含账号信息、付款人信息、金额等);

C.DAL层处理BLL层发过来的请求,并及时向DB发送查询数据或保存数据的命令,获得资源后返回给BLL层;

2.MVP架构:

说明:

A.UI层(即:VIEW层)依赖于IPresenter接口,同时实现IView接口;UI层需初始化相应的Presenter对象,并将自己传给Presenter对象;被动接收Presenter的处理请求;

B.Presenter依赖于IView接口,同时实现IPresenter接口,Presenter主动处理UI层反馈的请求(UI层向Presenter反馈的方法:一是VIEW中定义响应事件委托,Presenter订阅并监听;二是VIEW中直接通知Presenter),Presenter中的处理UI层反馈请求的方法不应包括返回值,甚至可以不要参数,因为这些仅是UI层通知Presenter的入口,UI层并不会主动传送或接收返回值,处理完后,通知UI作出相应的处理;

C.Model层负责处理Presenter发过来的请求,并及时向DB发送查询数据或保存数据的命令,获得资源后返回给Presenter;

3.MVC架构:

说明:

A.用户访问页面时,通过定义的路由映射规则找到指定的Controller及Action;

B.Action接到用户请求后向Model层发送相应的处理请求,MODEL层作出相应的处理后返回处理结果给Action,Action得到处理结果后及时返回相应的处理结果(ActionResult:包含视图及其关联的数据)到视图引擎,视图引擎找到相应的视图;

C.View层呈现Action返回的结果;

4.DDD架构:

说明:

A.UI层依赖于应用层及基础设施层,UI主要负责响应用户请求,并呈现用户请求的结果;

B.应用层依赖于领域层及基础设施层,接收UI层发送过来的请求,并将请求转换成相应的领域事件且发送给领域层相应的领域对象;

C.领域层依赖于基础设施层,领域对象接收并响应应用层发送过来的请求,处理完成后返回给应用层;

D.基础设施层不依赖于任何其它层,该层包括数据持久化、通用业务逻辑等,供各层调用;

转载于:https://www.cnblogs.com/zuowj/p/4621052.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值