工厂方法模式,是设计模式初学者入门的模式,有人称它为最为典型最具启发效果的模式。
Android中用到了太多的工厂类,其中有用工厂方法模式的,当然也有不是使用工厂方法模式的,只是工具管理类。
定义一个用于创建对象的接口,让子类去决定实例化哪个类。工厂方法模式使一个类的实例化延迟到其子类。
先抽象的产品类,抽象的工厂类,然后用客户端具体的工厂生产相应的具体的产品,但是客户端并不知道具体的产品是怎么生产的,生产的过程封装在工厂里。
以ThreadFactory为例:
这张图其实和原本的结构图有细微的区别,那就是参数化的工厂,而且从业务意义上也有些不同,但是思想是一样的。