文章目录
  1. 1. 概述:总感觉设计模式这东西是可遇而不可求的,没有大量的代码经验很难理解它(记住和理解是有天壤之别的)。放假的时候看到过一个项目,当时是站在学习自定义View的角度分析它的源码的,觉得这代码写的很优雅,直到今天看了策略模式我才突然想起这个项目,恍然大悟,原来那就是策略模式。
  2. 2. 策略模式
    1. 2.1. 通用类图:
    2. 2.2. 这里的抽象策略角色就是上述项目里的BaseIndicatorController
    3. 2.3. 其所有的具体策略角色为项目中所有的子类
    4. 2.4. Context封装角色就是项目里的AVLoadingIndicatorView
  3. 3. 多阅读优秀源码,见多识广,才能理解设计模式。

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

策略模式

通用类图:

这里的抽象策略角色就是上述项目里的BaseIndicatorController

其所有的具体策略角色为项目中所有的子类

Context封装角色就是项目里的AVLoadingIndicatorView

多阅读优秀源码,见多识广,才能理解设计模式。

文章目录
  1. 1. 概述:总感觉设计模式这东西是可遇而不可求的,没有大量的代码经验很难理解它(记住和理解是有天壤之别的)。放假的时候看到过一个项目,当时是站在学习自定义View的角度分析它的源码的,觉得这代码写的很优雅,直到今天看了策略模式我才突然想起这个项目,恍然大悟,原来那就是策略模式。
  2. 2. 策略模式
    1. 2.1. 通用类图:
    2. 2.2. 这里的抽象策略角色就是上述项目里的BaseIndicatorController
    3. 2.3. 其所有的具体策略角色为项目中所有的子类
    4. 2.4. Context封装角色就是项目里的AVLoadingIndicatorView
  3. 3. 多阅读优秀源码,见多识广,才能理解设计模式。