zoukankan      html  css  js  c++  java
  • 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];
          }

    第三步:结束。

  • 相关阅读:
    js继承《转》
    千分位分割正则
    所有事件失效
    658. Find K Closest Elements
    278. First Bad Version
    153. Find Minimum in Rotated Sorted Array
    11. Container With Most Water
    205. Isomorphic Strings
    75. Sort Colors
    695. Max Area of Island
  • 原文地址:https://www.cnblogs.com/xin-lang/p/6673162.html
Copyright © 2011-2022 走看看