工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。
在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
1.创建一个接口Shape和实现接口的实体类
1)接口Shape
public interface Shape {
void drow();
}
实现类Circle
public class Circle implements Shape {
public void drow() {
System.out.println("这是一个Circle");
}
}
实现类Ranctangle
public class Rectangle implements Shape {
public void drow() {
System.out.println("这是一个Ranctangle");
}
}
实现类Square
public class Square implements Shape{
public void drow() {
System.out.println("这是一个Square");
}
}
2.构建ShapeFactory工厂
//构建工厂
public class ShapeFactory {
public Shape getShape(String shapeType) {
if(shapeType==null)
return null;
if(shapeType.equals("Circle"))
return new Circle();
else if(shapeType.equals("Square"))
return new Square();
else if(shapeType.equals("Ranctangle"))
return new Rectangle();
return null;
}
}
3.从工厂中获得想要的具体对象
public class FactoryDemo {
public static void main(String[] args) {
ShapeFactory shapefactory=new ShapeFactory();
Shape shape1=shapefactory.getShape("Circle");
shape1.drow();
Shape shape2=shapefactory.getShape("Ranctangle");
shape2.drow();
Shape shape3=shapefactory.getShape("Square");
shape3.drow();
}
}
4.输出结果