1、基本的工厂模式设计流程
package com.factory;
public class shape {
public interface Shape {
void draw();
}
public static class Rectangle implements Shape {
public void draw() {
System.out.println("Rectangle===========>插入draw()的方法");
}
}
public static class Square implements Shape {
public void draw() {
System.out.println("Square===========>插入draw()方法");
}
}
public static class Circle implements Shape {
public void draw() {
System.out.println("Circle===========>插入draw()方法");
}
}
// 创建一个工厂,生成基于给定信息的实体类的对象
public static class ShapeFactory {
// 使用getShape方法获取树形结构类型的对象
public Shape getShape(String shapeType){
if(shapeType == null){
return null;
}
if(shapeType.equalsIgnoreCase("CIRCLE")){
return new Circle();
}else if(shapeType.equalsIgnoreCase("RECTANGLE")){
return new Rectangle();
}else if(shapeType.equalsIgnoreCase("SQUARE")){
return new Square();
}
return null;
}
}
public static void main(String[] args) {
ShapeFactory shapeFactory = new shape.ShapeFactory();
// 获取Circle的对象,并调用他的draw方法
Shape shape1 = shapeFactory.getShape("CIRCLE");
// 调用Circle的draw方法
shape1.draw();
// 获取Rectangle的对象,并调用它的draw方法
Shape shape2 = shapeFactory.getShape("RECTANGLE");
shape2.draw();
// 获取Square的对象,并调用它的draw方法
Shape shape3 = shapeFactory.getShape("SQUARE");
shape3.draw();
}
}