《Android源码设计模式》--抽象工厂模式

No1:

4种MediaPlayer Factory分别会生成不同的MediaPlayer基类:StagefrightPlayer、NuPlayerDriver、MidiFile和TestPlayerStub。四者均继承与MediaPlayerBase。

No2:

抽象工厂模式在android源码中使用极少。对于android开发来说,一个更好的应用是在主题修改上。

No3:

优点

分离接口与实现,客户端使用抽象工厂来创建需要的对象,而客户端根本就不知道具体的实现是谁,客户端只是面向产品的接口变成而已,使其从具体的产品实现中解耦,同事基于接口与实现的分离,使抽象该工厂方法模式在切换产品类时更加灵活、容易。

缺点

1)类文件的爆炸性增加

2)不太容易扩展新的产品类,因为每当我们增加一个产品类就需要修改抽象工厂,那么所有的具体工厂类均会被修改。

你可能感兴趣的:(《Android源码设计模式》--抽象工厂模式)