这个在Android中使用的最多 的就是 BitmapFactory 里面有各种decodeXX方法,
主要还是理解设计模式中关于工厂方法的定义
普通工厂模式 :这个特别的简单,就是一个接口,不同的类实现这个接口,工厂类通过设定的参数(类名)来调用不同的实现类
缺点就是:有参数传递,不好,参数错了就不好了,这个从某种意思上讲 就是依赖于具体了,
改进的做法就是:工厂类里面很多很多工厂,这样需要哪个工厂,就去调用那个,还是有缺点,用的时候需要先申明工厂类,new了,比较麻烦
静态工厂方法模式:这个也很多理解,使用static 修饰符,把多个工厂方法的里面的各个工厂用static修饰,就不用new了,直接调用多方便,不过也有缺点:当增加新的工厂(功能)时,这个工程代码就需要改了,破坏了闭包原则
抽象工厂模式:
抽象工厂就是把每个工厂都独立出来,就是抽象出来,当增加新的工厂的时候不需要去修改原来的类,增加代码,而不改变代码是非常认可的。