# CTMediator **Repository Path**: github-iOS/CTMediator ## Basic Information - **Project Name**: CTMediator - **Description**: The mediator with no regist process to split your iOS Project into multiple project. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-04-05 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README CTMediator ========== objective-c: ``` pod "CTMediator" ``` swift: ``` use_frameworks! pod "CTMediator" ``` --- `CTMediator` helps you to divide 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](https://github.com/ModulizationDemo/MainProject) [Modulized Main Project with CTMediator](https://github.com/ModulizationDemo/ModulizedMainProject) [Demos](https://github.com/ModulizationDemo) [Swift Demo](https://github.com/ModulizationDemo/SwfitDemo) 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](https://github.com/ModulizationDemo/MainProject) [Modulized Main Project with CTMediator](https://github.com/ModulizationDemo/ModulizedMainProject) [Demos](https://github.com/ModulizationDemo) [Swift Demo](https://github.com/ModulizationDemo/SwfitDemo) 跑demo时先添加私有库: ``` pod repo add PrivatePods https://github.com/ModulizationDemo/PrivatePods.git ``` 然后就可以`pod install`了 --- [iOS应用架构谈 组件化方案](http://casatwy.com/iOS-Modulization.html) [在现有工程中实施基于CTMediator的组件化方案](http://casatwy.com/modulization_in_action.html) [CTMediator的Swift应用](https://casatwy.com/CTMediator_in_Swift.html) --- 本工程其实也是个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](https://github.com/ModulizationDemo) [Swift Demo](https://github.com/ModulizationDemo/SwfitDemo)