本文是基于BeeHive版本1.6.0进行分析。
BeeHive核心思想涉及两个部分:
- 各个模块间从直接调用对应模块,变成以Service的形式,避免了直接依赖。
- App生命周期的分发,将耦合在AppDelegate中的逻辑拆分,每个模块以微应用的形式独立存在。
Core+Plugin的形式可以让一个应用主流程部分得到集中管理,不同模块以plugin形式存在,便于横向的扩展和移植。
Continue reading本文是基于BeeHive版本1.6.0进行分析。
BeeHive核心思想涉及两个部分:
Core+Plugin的形式可以让一个应用主流程部分得到集中管理,不同模块以plugin形式存在,便于横向的扩展和移植。
Continue reading情景:把一堆算法塞到同一段代码中,然后使用if-else
或者switch-case
条件语句来决定要使用哪个算法?这些算法可能是一堆相似的类函数或方法,用以解决相关的问题。例如验证数据输入的情形,数据本身可以是任何数据类型(如CGFloat,NSString,NSInteger等),每种数据类型需要不同的算法。如果把每一种算法封装成一个对象,那么就能消除根据数据类型决定使用什么算法的一堆if-else
或switch-case
语句。
面向对象软件设计中,我们可以把相关算法分离为不同的类,成为策略,对应的设计模式称为策略模式。
__attribute__
是在C, C++,
Objective-C语言中使用的编译指令,一般以__attribute__(xxx)
的形式出现在代码中,方便开发者向编译器表达某种要求,参与控制如Static
Analyzer、Name Mangling、Code Generation等过程。
@Chengdu,WeChat:CaryaLiu
Teacher