网站的营销方案,做画册可以参考哪些网站,个人资料库网站怎么做,wordpress支付接口同步回调简单工厂模式#xff08;Simple Factory Pattern#xff09;
简单工厂模式的核心思想是通过一个工厂类#xff0c;根据提供的参数来决定创建哪一个具体的产品类实例。 这个模式通常用于产品种类较少#xff0c;且不经常变化的场景。
interface Product {void create();
}…简单工厂模式Simple Factory Pattern
简单工厂模式的核心思想是通过一个工厂类根据提供的参数来决定创建哪一个具体的产品类实例。 这个模式通常用于产品种类较少且不经常变化的场景。
interface Product {void create();
}class ProductA implements Product {Overridepublic void create() {System.out.println(我是产品A);}
}class ProductB implements Product {Overridepublic void create() {System.out.println(我是产品B);}
}// 工厂类
class Factory {// 一个方法根据类型返回不同的实例public Product getProduct(int type) {switch (type) {case 1:return new ProductA();case 2:return new ProductB();default:return null;}}
}
核心点通过一个工厂类来根据外部传入的参数返回不同类型的产品实例。 缺点简单工厂模式初期非常方便但它会导致工厂类过于庞大且不易扩展。
工厂方法模式Factory Method Pattern
简单工厂模式的基础上进行的改进。它将产品的实例化过程从工厂类中抽离出来交由具体的子类来实现达到了更加灵活和可扩展的效果。
// 将原本的工厂类抽象乎或者做成接口
abstract class Factory {// 由子类实现具体的产品创建abstract Product getProduct();
}// 子类来实现生产不同的产品
class ConcreteFactoryA extends Factory {Overridepublic Product getProduct() {return new ProductA();}
}// 子类来实现生产不同的产品
class ConcreteFactoryB extends Factory {Overridepublic Product getProduct() {return new ProductB();}
}
核心点将产品的实例化逻辑从工厂类中抽象出来由具体的子类来实现。 优点新产品的添加变得更加灵活扩展性更强。引入新产品时只需要创建新的具体工厂类而不需要修改原有的代码。