• 系统架构简单图解


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

  • 相关阅读:
    【翻译】R 中的设计模式
    CLR 协变、逆变
    设计模式之工厂模式
    c# 浮点数计算问题
    WebAPI参数传值string转bool,int转bool相关问题
    CLR via c# 值类型“不可变”
    C# CLR via 对象内存中堆的存储【类型对象指针、同步块索引】
    c# 关于字段内存排序
    《拖拉一点也无妨》读后感
    .NET CORE 学习笔记之安装EF【Microsoft.EntityFrameworkCore】扩展报错
  • 原文地址:https://www.cnblogs.com/zuowj/p/4621052.html
Copyright © 2020-2023  润新知