最近在造轮子,事件系统的核心目的是为了降低模块间耦合,事件驱动可以更好的解耦和组织代码。本方案主要基于C#的委托实现,典型的观察者模式的应用。 技术选型: C#的委托与事件 C#的委托类型可以关联多种拥有相同形参签名的函数,并且可以使用Invoke方法顺序调用,设计上可以用作回调。 C#的event是一种限制的委托类型,额外帮助委托实现了ADD和Remove方法,设计上留作被观察者的接口,供外部方法监听。且event只能在方法外部声明,且只能由被观察者触发,虽然保证了操作安全,但是降低了自由度。 因为我希望可以实现…