Bus架构记要

Bus架构,好处就是为系统结构提供灵活的动态扩展机制.可以通过数据类型、接口等动态构造实例。减少各个类之间的耦合度。他其实是抽象工厂模式的一种应用。

实例说明,在程序中我遇到的一个实例跳转流程如下:

第一步:初始化

  在应用加载时- (void)applicationDidFinishLaunchingNotification,初始化Bus(总线):[EMBusManager registerAllBuses];--》+ (void)busregister:(EMBusObject *)busObj;注册了各种类型的BusObject(业务Bus,实现具体构造),并存放在[EMBus sharedInstance].dataBusObjectMap中。

 

第二步:跳转

  1、跳转要闻界面[EMBus callData:@"news/SNDetailViewShowManager/goToSNDetailView" param:detail,[EMUtil windowNavigationViewController], nil];,声明跳转接口@"news/SNDetailViewShowManager/goToSNDetailView"和参数detail以及堆栈控制器NavigationViewController。

  2、根据接口查找到所属的构造BusObject=EMNewsBusObject。:EMBusObject *busObj = [EMBus busObjectForName:bizName];,跳转到该构造Bus,执行构造方法:[EMNewsBusObject doDataJob:bizName params:paramArr];

  3、实现条转:if ([businessName isEqualToString:@"news/SNDetailViewShowManager/goToSNDetailView"]){
        DataItemDetail *detail = params[0];
        EmBaseViewController *vc = params[1];
        [SNDetailViewShowManager goToSNDetailView:detail ctrl:vc];
      }

第三步:结束。

 

posted @ 2017-04-06 14:02  小固编程  阅读(387)  评论(0编辑  收藏  举报