zoukankan      html  css  js  c++  java
  • 复杂业务app中跨业务页面调用方案

    一般做法

    在小规模的app中,我们直接import其他业务的某个View Controller, 然后直接push或者present。

    容易引发的问题

    一个view controller背后关联的某一个或者多个业务。直接import会在多业务组成的App中会导致业务模块之间的横向依赖。而横向依赖会导致:

    1. 当要开辟一个新业务时,如果已有各业务间直接依赖,新业务又依赖某个旧业务,就导致新业务的开发环境搭建困难,因为必须要把所有相关业务都塞入开发环境,新业务才能进行开发。影响的是新业务的响应速度
    2. 当某一个被其他业务依赖的页面有所修改时,比如改名,涉及到的修改面就会特别大。影响的是造成任务量和维护成本都上升的结果
    3. 当一个需求需要多业务合作开发时,如果直接依赖,会导致某些依赖层上端的业务工程师在前期空转,依赖层下端的工程师任务繁重,而整个需求完成的速度会变慢,影响的是团队开发迭代速度

    解决方案

    依赖关系下沉。 采用Mediator中介者模式。

    设计的关键:

    1. 设计中介者根据请求如何获取其他业务的机制。中介者需要知道如何处理请求,上哪儿去找到需要的页面。 中介者跟最多的业务有交互
    2. 设计一套通用的请求机制。请求机制需要跟业务剥离;请求者不需要关心被请求业务的接口。

    苹果本身的URL Scheme机制,用于支持跨App的调用。在这个case里, 苹果系统是中介者, 单个的App是某个业务, URL Scheme就是这套请求机制。

    本文参考

    http://www.infoq.com/cn/articles/ios-app-arch-2-3

  • 相关阅读:
    戴文的Linux内核专题:08内核配置(5)
    如何在redhat下安装WineQQ
    如何在redhat下安装办公软件(openoffice)
    fqrouter让安卓手机登陆facebook成为可能
    戴文的Linux内核专题:08内核配置(4)
    如何登录Google美国服务器
    SSM框架搭建(转发)
    垃圾回收器
    数据生成时间表
    js控制邮箱跳转
  • 原文地址:https://www.cnblogs.com/mindyme/p/4585318.html
Copyright © 2011-2022 走看看