Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

协议路由-是用于iOS的App模块化编程的简化框架实现方案,吸收了BeeHive框架Protocol的理念来实现模块间的解耦。

License

Notifications You must be signed in to change notification settings

coderlinxx/ProtocolRouter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

5 Commits

Repository files navigation

ProtocolRouter

协议路由-是用于iOS的App模块化编程的简化实现方案,吸收了BeeHive框架Protocol的理念来实现模块间的解耦。

首先声明一点,在楼主看来,目前已知的组件化路由项目里,基本都是 映射表/约定 的方式去完成对路由的整体设计,这是由 OC 语言的特性所决定的, 除非,OC可以像Java一样支持Protocol的实例化,或者说,就是支持动态的接口实例化。那么,就可以像Spring所做的那样,完全的动态化IoC(控制反转),然后再用注解来实现绑定,就可以避免配置文件的问题了。

像 casa 大神的CTMediator,虽说解耦,同样的也会有很多的 Target_xx 和 其内部的 Action_xx (中间件+约定), 依赖这些中间件来使用服务.

BeeHive 是用映射表的方式来完成的,框架在使用的过程中都会有很多协议的实现,这也是一个框架在设计原理的基础上所必要实现过程.

ProtocolRouter 这个项目借鉴了前人的宝贵经验,吸取了BeeHive(或者说protocol-class)和CTMediator(target-action)内比较好的一面去做的一个结合. 楼主用protocol-class的形式增加了一个中间件,用 约定 的方式去尽量简化了这个路由器的设计,让使用者可以很简单的完成组件的调用,组装以及组件之间的信息传递.

作为此框架的初级版本,ProtocolRouter实现了模块间的解耦和模块生命周期的管理,可以在模块的相应协议服务类里处理一些额外事件.

About

协议路由-是用于iOS的App模块化编程的简化框架实现方案,吸收了BeeHive框架Protocol的理念来实现模块间的解耦。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /