中介者模式、MediatR

在开发过程中,接触到了MediatR,开始很陌生,因为很多方法没有引用,感觉没有思绪,不管是修改,还是新增都是一脸懵(习惯了之前的方法调方法基操 哈哈)

MediatR、 中介者模式和其好处

业务中,会越来越复杂,关联性越来越多,耦合度会越来越高,维护成本会越来越复杂,此时用到了MediatR、中介者设计模式

    比如,订单的创建

    1、需要对 订单数据 SalesOrder 表 插入数据

    2、需要对 快递信息 ExpressInfo 表 插入数据

    3、需要对 购物车 ShoppingCart 表 做数据处理  比如删除掉对应商品

    4、需要对 库存信息 StockInfo 表 处理  扣库存等

    5、需要对 用户购物券 UserCoupons 表 处理  是否使用优惠券 是否需要抵扣掉相应优惠券

    暂时假设举例、可能不符合实际,但确实有联动操作的需求 假设上述5点需求 都需要在生成订单信息时触发,

    有两种解决办法 

    一、直接搞个存储过程 上述设计到的所有表处理 全部在存储过程中操作 且支持事务操作

    二、EF操作对象的操作,领域驱动模型  是要把各自领域划分  如上述几点 订单和快递本就是两个领域了,如果需要互相之间的操作就需要互相引用,会造成过度引用,导致很复杂

    这时可以用MediatR  只需要在创建订单时 触发剩余的事件操作,

    原先是  订单 引用 快递   订单 引用  购物车    引用  库存   引用 购物券  互相引用了

    现在可以创建一个中间件

    上述六点 需求全部引用 中间件、各自之间不再引用,达到解耦目的   且支持事务,而MediatR就是用来实现这个中间件的作用的

   

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值