Files
spring-security-series/com/javadevjournal/design/creational/abstractfactory/AbstractFactoryDemo.java
2022-03-13 08:53:26 +05:30

29 lines
1.1 KiB
Java

package javadevjournal.design.creational.abstractfactory;
/**
* @author Kunwar
*/
public class AbstractFactoryDemo {
public static void main(String[] args) {
/* get shape factory */
AbstractFactory shapeFactory = FactoryOfFactory.getFactory(false);
/* get an object of Shape Rectangle */
Shape shape1 = shapeFactory.getShape("RECTANGLE");
/* call draw method of Shape Rectangle */
shape1.drawShape();
/* get an object of Shape Square */
Shape shape2 = shapeFactory.getShape("SQUARE");
/* call draw method of Shape Square */
shape2.drawShape();
/* get rounded shape factory */
AbstractFactory roundShapeFactory = FactoryOfFactory.getFactory(true);
/* get an object of Shape Rectangle */
Shape shape3 = roundShapeFactory.getShape("RECTANGLE");
/* call draw method of Shape Rectangle */
shape3.drawShape();
/* get an object of Shape Square */
Shape shape4 = roundShapeFactory.getShape("SQUARE");
/* call draw method of Shape Square */
shape4.drawShape();
}
}