简单工厂模式
2026/8/24小于 1 分钟
简单工厂模式
简单工厂的本质是选择实现。
接口思想
接口是一种特殊的抽象类:所有方法都是抽象方法,所有属性都是常量,只有方法定义没有实现。
接口的思想是封装隔离:实现类 Impl 应被接口 Api 封装并与客户端隔离,客户端不应知道具体实现类。
简单工厂的功能
- 创建接口对象
- 创建抽象类对象
- 创建具体实例
静态工厂
没有创建工厂实例的必要时,把简单工厂实现为工具类,直接使用静态方法。
万能工厂
一个简单工厂可以包含很多构造方法,创建不同的接口、抽象类或类实例。
优点与缺点
优点:帮助封装、解耦。
缺点:可能增加客户端复杂度、不方便扩展子工厂。
Android 中的实现:BitmapFactory
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.demo);BitmapFactory 提供 decodeFile、decodeResource 等静态方法,根据参数不同创建对应 Bitmap,客户端无需关心解码细节。