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];
          }

    第三步:结束。

  • 相关阅读:
    第十一次作业
    第十次作业
    第九次作业
    第八次作业
    第七次作业
    第六次作业
    Springboot 2.x 使用 Druid 数据源
    @ConditionalOnMissingBean、@Import 组合使用
    Springboot 2.x 整合 JDBC
    IDEA org.apache.maven.plugins:maven-jar-plugin 报红
  • 原文地址:https://www.cnblogs.com/xin-lang/p/6673162.html
Copyright © 2011-2022 走看看