创建型模式-抽象工厂模式

1.什么是抽象工厂模式

    抽象工厂模式提供了创建对象的最佳方式,在抽象工厂模式中,抽象方法负责创建一个相关对象的工厂,不需要 显示指定它们的类。

2.使用场景

    与工厂模式类似

3.如何实现

    提供一个抽象类负责创建相关对象,具体实现在子类中。

4.优点

      新增一个产品时,只需要创建一个产品对象以及该产品的工厂类即可。

5.缺点

    。。

6.应用示例以及UML
    

        代码示例:

            创建多种几何图形,圆形、长方形、正方形

        UML:

        


7.代码实现

 7.1 抽象类AbstractShapeFactory

public abstract class AbstractShapeFactory {

	public abstract Shape getShape(); 
	
}

7.2 圆形工厂类CircleFactory

public class CircleFactory extends AbstractShapeFactory{

	@Override
	public Shape getShape() {
		return new Circle();
	}

}

7.3长方形工厂类RectangleFactory

public class RectangleFactory extends AbstractShapeFactory{

	@Override
	public Shape getShape() {
		return new Rectangle();
	}

}
7.4正方形工厂类SquareFactory    
public class SquareFactory extends AbstractShapeFactory{

	@Override
	public Shape getShape() {
		return new Square();
	}

}

8.测试类

8.1测试类

public class AbstractFactoryTest {
	
	@Test
	public void test(){
		
		CircleFactory circleFactory = new CircleFactory();
		Shape circle = circleFactory.getShape();
		circle.draw();
		
		RectangleFactory rectangleFactory = new RectangleFactory();
		Shape rectangle = rectangleFactory.getShape();
		rectangle.draw();
		
		SquareFactory squareFactory = new SquareFactory();
		Shape square = squareFactory.getShape();
		square.draw();
	}

}

8.2测试结果

this is Circle drawing
this is Rectangle drawing 
this is Square drawing

猜你喜欢

转载自blog.csdn.net/dxh0823/article/details/80053422