
创建型设计模式(5种,核心:管控对象创建,隔离new细节)
目的:把对象实例化逻辑和业务使用代码分离,降低耦合、灵活控制对象创建。
- 单例 Singleton
保证一个类全局只有一个实例,提供全局访问点。
适用:配置管理器、线程池、日志工具。
两种:饿汉(类加载初始化)、懒汉(用时创建)。
- 工厂方法 Factory Method
一个产品对应一个工厂,父类定义创建接口,子类实现实例化。
适用:产品种类会持续扩展,新增产品只加工厂类,不改原有代码。
- 抽象工厂 Abstract Factory
一个工厂生产一族相关产品(多系列配套对象)。
例:安卓/ios两套UI控件(按钮+弹窗),一个工厂产出整套控件。
- 建造者 Builder
分步构造复杂对象,拆分:建造者+指挥者+产品。
适用:对象属性多、构造步骤固定(如复杂报文、电脑组装)。
- 原型 Prototype
克隆已有对象创建新实例,不用new。
适用:创建对象成本高(大数据初始化、资源加载重),深浅拷贝是关键点。
速记区分
-
单例:只能造一个
-
工厂方法:一类产品一个厂
-
抽象工厂:一套产品一个厂
-
建造者:分步拼复杂对象
-
原型:复制老对象出新对象
更多分析请转至 码读空间-面试应用题库 小程序