美文网首页
模块拆分(四)

模块拆分(四)

作者: S_Lyu | 来源:发表于2020-04-24 18:10 被阅读0次

第四步:项目结构和组件通信

项目结构

  • 基础组件:
    • 通信协议层
    • BeeHive
    • Track埋点
    • 语音服务
    • 网络通信
    • XHFoundation(base和tool)组件
    • Dao设计
    • 第三方库
    • 短音频播/录组件
  • 业务组件
    • 公共业务
    • 广场业务
    • 我的业务
    • ...
  • 主(壳)工程
    • 未拆分的业务(首页/赛事/登录/消息)
    • AppDelegate
    • Resource(引用的bundle等资源)
项目结构

组件通信

使用BeeHIve进行组件间通信

  • 新建(或使用已经创建好的)协议,定义/对接组件api
    定义组件通信api
  • 在接收通信的组件内创建(或使用已经创建的)impl实现类,处理通信逻辑
    对接实现类
  • 绑定
    可选:只有新建的协议和impl才需要创建新的绑定
    image.png
  • 使用
    接触过service -> client -> service模式的应该已经不陌生了
    优势:BeeHive protocol -> impl可以拿到return
    使用BeeHive进行通信

相关文章

  • 模块拆分(四)

    第四步:项目结构和组件通信 项目结构 基础组件:通信协议层BeeHiveTrack埋点语音服务网络通信XHFoun...

  • Flutter基础篇01--实现一个综合页面

    实现下面这个综合页面demo 界面分析: 1、可拆分四个模块:图片模块、地址模块、按钮模块、文本模块2、由于文本模...

  • 架构学习-消息队列

    在公司中,目前服务拆分出来的订单模块,商品模块,发票申请模块,邮寄模块,退款模块,安全模块,公共模块,之前拆分出...

  • 已有项目模块化流程

    1 根据业务拆分模块,找出所有的业务模块。复杂的业务模块拆分为小的业务模块。2 根据模块的层级结构已文件夹...

  • AppDelegate如何瘦身?

    1、使用分类,拆分模块到分类中。(分类中同名方法覆盖问题)2、不使用分类,拆分模块,每个模块的处理数据方法注册到原...

  • 对SpringCloud微服务架构的理解

    微服务 微服务 将all in one的项目拆分,可以按业务拆分成独立的模块等,降低模块与模块之间的耦合性,每个微...

  • 在终端营销活动中:如何对整体项目进行有效拆分?

    项目拆分就是把整体项目拆分成几个模块,这几个模块彼此独立,又相互联系。 拆分项目的目的,是为了我们能更好的去管理推...

  • MongoDB快速入门教程 (4.3)

    4.3.Mongoose模块化 #4.3.1.为什么要进行模块化拆分? 模块化拆分的目的是为了代码的复用,让整个项...

  • 模块拆分(前言)

    前言 1.高耦合的app,到底怎么拆? *还有很多分支已经删掉了..." 2.业务边界清晰么? 无奈之举,抽离Co...

  • 模块拆分(二)

    第二步:新建一个子工程的bundle 1.新建bundle工程: 在指定子模块下新增targetimage.png...

网友评论

      本文标题:模块拆分(四)

      本文链接:https://www.haomeiwen.com/subject/djrzihtx.html