Simple Factory(简单工厂)
前言:
最近在备考记录下设计模式,
1.简单工厂 -->> 2.工厂方法 -->> 3.抽象工厂 -->> 4.生成器 -->> 5.原生 --->> 6.单例
- 简单工厂模式属创建型模式,但不属于23种设计模式之一。
- 定义:定义一个工厂类,他可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。在简单工厂模式中用于被创建实例的方法通常为静态(static)方法,因此简单工厂模式又被成为静态工厂方法
- 简单工厂模式违反了开放封闭原则,即对扩展开放对修改也开放。
c
public class SimpleFactory {
public static void main(String[] args) {
Product product = Factory.createProduct("A");
product.info();
}
}
class Factory {
public static Product createProduct(String type) {
Product product = null;
switch (type){
case "A":
product = new ProductA();
break;
case "B":
product = new ProductB();
break;
}
return product;
}
}
abstract class Product {
public abstract void info();
}
class ProductA extends Product {
public void info() {
System.out.println("A产品");
}
}
class ProductB extends Product {
public void info() {
System.out.println("B产品");
}
}