文件名称:EventBus:C#事件总线实现
文件大小:33KB
文件格式:ZIP
更新时间:2024-02-26 01:07:59
csharp eventbus observer-pattern publisher-subscriber C#C#
1.简单介绍 事件总线这个概念对您来说可能很陌生,但提到观察者(发布-订阅)模式,你也许就很熟悉。事件总线是对发布-订阅模式的一种实现。它是一种集中式事件处理机制,允许不同的组件之间进行彼此通信而又不需要相互依赖,达到一种解分解的目的。 我们来看看事件总线的处理流程: 事件总线就相当于一个介于发布者和订阅者中间的主轴。它隔离了出版物和订阅者之间的直接依赖,接管了所有事件的发布和订阅逻辑,并负责事件的中转。 2.实现原理 3.事件总线的实现要点 事件总线维护一个事件源与事件处理的映射字典; 通过单例模式,确保事件总线的唯一入口; 利用反射或依赖注入完成事件源与事件处理的初始化绑定; 提供统一的
【文件预览】:
EventBus-master
----.gitignore(4KB)
----EventBus.sln(2KB)
----LICENSE(1KB)
----_config.yml(26B)
----README.md(1KB)
----EventBus.Test()
--------TestEventData.cs(337B)
--------EventBus.Test.csproj(7KB)
--------packages.config(874B)
--------EventBut_Simple_Test.cs(4KB)
--------RabbitMQEventBus_Test.cs(4KB)
--------InMemory_EventStore_Test.cs(1KB)
--------EventBusTestBase.cs(466B)
--------TestEventHandler.cs(422B)
--------Properties()
----EventBus()
--------IEventBus.cs(1KB)
--------packages.config(789B)
--------EventStore()
--------EventData.cs(633B)
--------IEventData.cs(537B)
--------log4net.config(583B)
--------EventBus.csproj(5KB)
--------RabbitMQ()
--------EventBusWithReflection.cs(5KB)
--------EventBus.cs(8KB)
--------Handlers()
--------Properties()
--------LoggerInstaller.cs(606B)
----.gitattributes(2KB)
----EventBus.Demo()
--------Program.cs(2KB)
--------FishType.cs(246B)
--------FishingEventData.cs(304B)
--------IFishingRod.cs(115B)
--------FishingRod.cs(929B)
--------App.config(184B)
--------EventBus.Demo.csproj(3KB)
--------FishingRodWithDelegate.cs(2KB)
--------FishingEventHandler.cs(941B)
--------FishingMan.cs(591B)
--------Properties()