本文是基于BeeHive版本1.6.0进行分析。

BeeHive核心思想涉及两个部分:

  1. 各个模块间从直接调用对应模块,变成以Service的形式,避免了直接依赖。
  2. App生命周期的分发,将耦合在AppDelegate中的逻辑拆分,每个模块以微应用的形式独立存在。

Core+Plugin的形式可以让一个应用主流程部分得到集中管理,不同模块以plugin形式存在,便于横向的扩展和移植。

Continue reading

情景:把一堆算法塞到同一段代码中,然后使用if-else或者switch-case条件语句来决定要使用哪个算法?这些算法可能是一堆相似的类函数或方法,用以解决相关的问题。例如验证数据输入的情形,数据本身可以是任何数据类型(如CGFloat,NSString,NSInteger等),每种数据类型需要不同的算法。如果把每一种算法封装成一个对象,那么就能消除根据数据类型决定使用什么算法的一堆if-elseswitch-case语句。 面向对象软件设计中,我们可以把相关算法分离为不同的类,成为策略,对应的设计模式称为策略模式。

Continue reading

__attribute__

__attribute__是在C, C++, Objective-C语言中使用的编译指令,一般以__attribute__(xxx)的形式出现在代码中,方便开发者向编译器表达某种要求,参与控制如Static Analyzer、Name Mangling、Code Generation等过程。

Continue reading
  • page 1 of 1
Author's picture

CaryaLiu

@Chengdu


iOS Developer


Chengdu