The mediator with no regist process to split your iOS Project into multiple project.
Objective-C Ruby Shell
Clone or download
Latest commit 035ef80 May 10, 2018
Permalink
Failed to load latest commit information.
CTMediator.xcodeproj modification Apr 24, 2018
CTMediator modification Apr 24, 2018
CTMediatorUITests added some demo ui test Nov 20, 2016
.gitignore 调整目录结构,避免误解 Oct 8, 2016
.swift-version 8 Jun 19, 2017
CTMediator.podspec 18 May 10, 2018
FILE_LICENSE 0.0.2 Nov 25, 2016
Podfile modification Apr 24, 2018
readme.md modification Mar 1, 2018
upload.sh modification Apr 18, 2018

readme.md

CTMediator

objective-c:

pod "CTMediator"

swift:

use_frameworks!
pod "CTMediator"

CTMediator helps you to devide your project into multi-project, and use Target-Action pattern to let subprojects to communicate with each other. with no regist process!

you can check demo for more details:

Origin project

Modulized Main Project with CTMediator

Demos

Swift Demo

add private repo before you run demos:

pod repo add PrivatePods https://github.com/ModulizationDemo/PrivatePods.git

remember to run pod install before you run the demo!


Origin project

Modulized Main Project with CTMediator

Demos

Swift Demo

跑demo时先添加私有库:

pod repo add PrivatePods https://github.com/ModulizationDemo/PrivatePods.git

然后就可以pod install


iOS应用架构谈 组件化方案

在现有工程中实施基于CTMediator的组件化方案


本工程其实也是个Demo

Category目录在实际工程中是单独的一个repo,调用者通过依赖category这个repo来完成功能调度。一般来说是每一个业务对应一个category的repo。因此调用者需要调度哪个业务,就依赖哪个业务的category。category这个repo由对应提供服务的业务来维护。

CTMediator目录在实际工程中也是一个单独的repo,仅用于存放中间件。被每一个业务线各自维护的category repo所依赖。

DemoModule目录是实际提供服务的业务,这个在实际工程中也是一个单独的repo。这个repo不被任何人所依赖,这个repo通过target-action来提供被调度的功能,然后由category repo通过runtime调度。


CTMediator helps you to devide your project into multi-project, and use Target-Action pattern to let subprojects to communicate with each other.

you can check demo for more details:

Demo

Swift Demo