Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/casatwy/CTMediator
The mediator with no regist process to split your iOS Project into multiple project.
https://github.com/casatwy/CTMediator
Last synced: 5 days ago
JSON representation
The mediator with no regist process to split your iOS Project into multiple project.
- Host: GitHub
- URL: https://github.com/casatwy/CTMediator
- Owner: casatwy
- License: other
- Created: 2016-03-13T13:03:42.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-04-18T08:40:29.000Z (7 months ago)
- Last Synced: 2024-10-29T15:02:43.971Z (14 days ago)
- Language: Objective-C
- Homepage:
- Size: 114 KB
- Stars: 3,995
- Watchers: 86
- Forks: 776
- Open Issues: 5
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
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 divide 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)