博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
系统架构简单图解
阅读量:6158 次
发布时间:2019-06-21

本文共 1284 字,大约阅读时间需要 4 分钟。

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.基础设施层不依赖于任何其它层,该层包括数据持久化、通用业务逻辑等,供各层调用;

本文转自 梦在旅途 博客园博客,原文链接:http://www.cnblogs.com/zuowj/p/4621052.html  ,如需转载请自行联系原作者

你可能感兴趣的文章
[转]VC预处理指令与宏定义的妙用
查看>>
JQuery radio单选框应用
查看>>
MySql操作
查看>>
python 解析 XML文件
查看>>
MySQL 文件导入出错
查看>>
java相关
查看>>
由一个异常开始思考springmvc参数解析
查看>>
向上扩展型SSD 将可满足向外扩展需求
查看>>
虚机不能启动的特例思考
查看>>
SQL Server编程系列(1):SMO介绍
查看>>
在VMware网络测试“专用VLAN”功能
查看>>
使用Formik轻松开发更高质量的React表单(三)<Formik />解析
查看>>
也问腾讯:你把用户放在什么位置?
查看>>
CSS Sprites 样式生成工具(bg2css)
查看>>
[转]如何重构代码--重构计划
查看>>
类中如何对list泛型做访问器??
查看>>
C++解析XML--使用CMarkup类解析XML
查看>>
P2P应用层组播
查看>>
Sharepoint学习笔记—修改SharePoint的Timeouts (Execution Timeout)
查看>>
CSS引入的方式有哪些? link和@import的区别?
查看>>