《Android源码设计模式》--抽象工厂模式
2023-09-14 09:00:41 时间
No1:
4种MediaPlayer Factory分别会生成不同的MediaPlayer基类:StagefrightPlayer、NuPlayerDriver、MidiFile和TestPlayerStub。四者均继承与MediaPlayerBase。
No2:
抽象工厂模式在android源码中使用极少。对于android开发来说,一个更好的应用是在主题修改上。
No3:
优点:
分离接口与实现,客户端使用抽象工厂来创建需要的对象,而客户端根本就不知道具体的实现是谁,客户端只是面向产品的接口变成而已,使其从具体的产品实现中解耦,同事基于接口与实现的分离,使抽象该工厂方法模式在切换产品类时更加灵活、容易。
缺点:
1)类文件的爆炸性增加
2)不太容易扩展新的产品类,因为每当我们增加一个产品类就需要修改抽象工厂,那么所有的具体工厂类均会被修改。
相关文章
- 安卓 android studio 报错 The specified Android SDK Build Tools version (27.0.3) is ignored, as it is below the minimum supported version (28.0.3) for Android Gradle
- 《android开发艺术探索》读书笔记(十一)--Android的线程和线程池
- 《Android源码设计模式》--享元模式
- 《Android源码设计模式》--装饰模式
- 《Android源码设计模式》--抽象工厂模式
- 《Android源码设计模式》--Builder模式
- 【Android】android镜像翻转
- Android版OpenCV图像处理技术亲自验证[二十六]之2D过滤器(附源码)
- Android版OpenCV图像处理技术亲自验证[二十]之眼球检测(附源码)
- Android版OpenCV图像处理技术亲自验证[十八]之Optical Flow 光流法(附源码)
- Android studio中 android-support-v4报错问题
- 【Android源码解析】“Retrofit、Okhttp、ButterKnife、Glide....”等百大框架源码,Android开发进阶必备宝典
- android源码分析实录
- Android setBackgroundResource无反应?
- Android源码中com.android.support依赖迁移到AndroidX库
- Android 11.0 无源码apk授予QUERY_ALL_PACKAGES权限
- Android 10.0 11.0设置默认屏幕密度(density)
- Android 9.0 去除锁屏界面及SystemUI无sim卡拨打紧急电话控件显示功能实现
- Android android studio 项目放在源码中编译
- 【Android 逆向】ART 脱壳 ( InMemoryDexClassLoader 脱壳 | 加固厂商在 ART 下使用的两种类加载器 | InMemoryDexClassLoader 源码 )
- 【Android 安全】DEX 加密 ( Application 替换 | Android 应用启动原理 | Instrumentation 源码分析 )
- 【Android 安全】DEX 加密 ( 代理 Application 开发 | 交叉编译 OpenSSL 开源库 )
- Android重力加速度传感器数据去噪
- Android Loader使用,屏幕解锁,重复荷载
- android 自定义控件 使用declare-styleable进行配置属性(源码角度)
- android 之 Hnadler 、Message 、Looper
- Android源码编译到/data/app方法(四十二)
- android 输入法如何启动流程_Android输入法显示流程