抽象工厂模式定义
为创建一组相关或者相互依赖的对象提供一个接口,而不需要指定他们的具体实现类。
抽象工厂模式的使用场景
这个模式在Android实际开发中很少使用,在我工作中唯一用到的就是主题模式。该模式搭建主题框架再适合不过了。比如我们的应用中有两套主题,分别为亮色和暗色主题(ps:实际上我们项目后期修改为万能色主题)。这两种主题我们可以通过一个抽象的类或者接口定义,而在对应主题下我们又有不同的UI元素,比如Button、Textview等,这些UI元素都会分别对应不同的主题,这些UI元素我们也可以通过抽象的类或者接口定义,抽象的主题、具体的主题、抽象的UI元素、具体的UI元素,它们之间的关系就是抽象工厂模式最好的体现。
抽象工厂模式总结
优点:
一个显著的优点就是分离接口与实现,客户端使用抽象工厂来创建需要的对象,而客户端根本就不知道具体的实现是谁,客户端只是面试产品的接口编程而已,使其从具体的产品实现中解耦,通是基于接口与实现的分离,使抽象改工厂方法模式在切换产品类时更加灵活、容易。
缺点:
1)类文件爆炸性增加
2)不太容易扩展新的产品类,因为每当我们增加一个产品类就需要修改抽象工厂,那么所有的具体工厂类均会被修改。
网友评论