工厂设计模式(五) - 使用场景

前言

工厂设计模式系列文章
工厂设计模式(一)- 简介
工厂设计模式(二) - 简单工厂模式
工厂设计模式(三) - 工厂方法模式
工厂设计模式(四) - 抽象工厂模式
工厂设计模式(五) - 使用场景

1. 工厂设计特性


  • 很多的对象都有公用的特性,并且开发后期可能存在多样性,意思就是比如我一开始是采用MemoryIOHandler运行内存存储,但是到后期我想采用SP或者磁盘存储,可以让其进行来回的切换,这个就叫做多样性;
  • 同时,我们还不想让别人知道我们每一种存储方式的创建细节,而且创建的过程比较复杂;

比如:我自己写了一个数据库,但是怕后期随着功能的扩展、需求的增多,它的性能跟不上,我到后期想采用第三方的数据库,还有就是我们的数据之前是存储在data/data/ 外部存储卡,直接在手机存储目录就可以找到,同时对于它的初始化也需要比较复杂的过程;

2. 开发中的使用


1>:图片:可以让ImageLoader、Picasso、Glide来回切换使用;
2>:地图:可以让百度地图、高德、腾讯、谷歌地图来回切换;

比如:
https格式的图片,在5.0以下不能显示,这个时候就可以使用 工厂设计模式,或者自己也可以写一个隔离层也是可以的;

3. 源码中的使用


BitmapFactory:BitmapFactory.decodeFile();
XmlPullParserFactory:
LayoutInflaterFactory:专门用于创建View;

4. 工厂设计模式是什么?


说白了,工厂设计模式就是专门生产对象的,把对象的实例化和初始化都封装起来,这样做其实保证了解耦、最少知识原则;

代码已上传至github:
https://github.com/shuai999/Architect_day10.git

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容