概述:总感觉设计模式这东西是可遇而不可求的,没有大量的代码经验很难理解它(记住和理解是有天壤之别的)。放假的时候看到过一个项目,当时是站在学习自定义View的角度分析它的源码的,觉得这代码写的很优雅,直到今天看了策略模式我才突然想起这个项目,恍然大悟,原来那就是策略模式。
策略模式
通用类图:

这里的抽象策略角色就是上述项目里的BaseIndicatorController
其所有的具体策略角色为项目中所有的子类
Context封装角色就是项目里的AVLoadingIndicatorView
多阅读优秀源码,见多识广,才能理解设计模式。