大家好像對分析源碼厭倦了,說實(shí)在我也會厭倦,不過不看是無法分析其后面的東西,從易到難是一個(gè)必要的過程。
今天說下EventBus,前幾天園里的大神已經(jīng)把其解刨,我今天就借著大神的肩膀,分析下在eShop項(xiàng)目中EventBus的實(shí)現(xiàn)。
最近發(fā)覺轉(zhuǎn)發(fā)文章不寫出處的,特此加上鏈接:http://inday.cnblogs.com
解析源碼
我們知道使用EventBus是為了解除Publisher和Subscriber之間的依賴性,這樣我們的Publisher就不需要知道有多少Subscribers,只需要通過EventBus進(jìn)行注冊管理就好了,在eShop項(xiàng)目中,有一個(gè)這樣的接口IEventBus(eShopOnContainers\src\BuildingBlocks\EventBus\EventBus\Abstractions)
public interface IEventBus { void Subscribe<T, TH>(Func<TH> handler) where T : IntegrationEvent where TH : IIntegrationEventHandler<T>; void Unsubscribe<T, TH>() where TH : IIntegrationEventHandler<T> where T : IntegrationEvent; void Publish(IntegrationEvent @event); }
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式