如何通过MediatR在Asp.net core中实现长尾词的进程内发布与订阅机制?

2026-04-01 11:490阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1948个文字,预计阅读时间需要8分钟。

如何通过MediatR在Asp.net core中实现长尾词的进程内发布与订阅机制?

1、背景+最近,一位工作了近一年的同事离职了,所做的东西似乎过得去。一看代码,忍不住感叹,一个方法六七百行,也不说什么了,其实也没法说。

1、背景

最近,一个工作了一个月的同事离职了,所做的东西怼了过来。一看代码,惨不忍睹,一个方法六七百行,啥也不说了吧,实在没法儿说。介绍下业务场景吧,一个公共操作A,业务中各个地方都会做A操作,正常人正常思维应该是把A操作提取出来封装,其他地方调用,可这哥们儿偏偏不这么干,代码到处复制。仔细分析了整个业务之后,发现是一个典型的事件/消息驱动型,或者叫发布/订阅型的业务逻辑。鉴于系统是单体的,所以想到利用进程内发布/订阅的解决方案。记得很久之前,做WPF时候,用过Prism的EventAggregator(是不是暴露年龄了。。。),那玩意儿不知道现在还在不在,支不支持core,目前流行的是MediatR,跟core的集成也好,于是决定采用MediatR。

阅读全文

本文共计1948个文字,预计阅读时间需要8分钟。

如何通过MediatR在Asp.net core中实现长尾词的进程内发布与订阅机制?

1、背景+最近,一位工作了近一年的同事离职了,所做的东西似乎过得去。一看代码,忍不住感叹,一个方法六七百行,也不说什么了,其实也没法说。

1、背景

最近,一个工作了一个月的同事离职了,所做的东西怼了过来。一看代码,惨不忍睹,一个方法六七百行,啥也不说了吧,实在没法儿说。介绍下业务场景吧,一个公共操作A,业务中各个地方都会做A操作,正常人正常思维应该是把A操作提取出来封装,其他地方调用,可这哥们儿偏偏不这么干,代码到处复制。仔细分析了整个业务之后,发现是一个典型的事件/消息驱动型,或者叫发布/订阅型的业务逻辑。鉴于系统是单体的,所以想到利用进程内发布/订阅的解决方案。记得很久之前,做WPF时候,用过Prism的EventAggregator(是不是暴露年龄了。。。),那玩意儿不知道现在还在不在,支不支持core,目前流行的是MediatR,跟core的集成也好,于是决定采用MediatR。

阅读全文