本文共 2052 字,大约阅读时间需要 6 分钟。
简单工厂模式(静态工厂方法模式)是一种常用的设计模式,其核心思想是通过工厂类来统一管理创建不同具体产品的逻辑。这种模式在软件开发中广泛应用,特别是在需要动态创建多种对象类型但不希望暴露对象创建细节的场景下。
传统的解决方法通常涉及直接使用new关键字来创建具体的产品类(如MachineGun或Pistol),这种方法存在以下问题:
简单工厂模式通过引入一个工厂类来统一管理不同产品类的创建过程。工厂类通常提供一个静态方法(如creatWeapon),接受一个参数来指定需要创建的具体产品类型,进而返回对应的产品对象。这种方式的核心优势在于:
简单工厂模式的结构通常包括三部分:
相比传统方法,简单工厂模式具有以下优点:
简单工厂模式广泛应用于以下场景:
以下是简单工厂模式的优化代码实现:
// 抽象产品类abstract class Weapon { abstract void display(); // 显示兵器名称}// 具体产品类class MachineGun extends Weapon { @Override void display() { System.out.println("机光枪"); }}class Pistol extends Weapon { @Override void display() { System.out.println("手枪"); }}// 工厂类class WeaponFactory { public static Weapon creatWeapon(String type) { Weapon w = null; switch (type) { case "手枪": w = new Pistol(); break; case "机关枪": w = new MachineGun(); break; default: System.out.println("不能生产该兵器" + type); } return w; }}// 客户端public class Demo { public static void main(String[] args) { Weapon pistol = WeaponFactory.creatWeapon("手枪"); pistol.display(); Weapon mg = WeaponFactory.creatWeapon("机关枪"); mg.display(); }}
运行上述代码可以看到以下效果:
这种设计方式通过工厂类的统一管理,实现了对武器创建逻辑的集中控制,显著提升了代码的可维护性和扩展性。
转载地址:http://dappz.baihongyu.com/