publicinterfaceShape{voiddraw();}publicclassCircleimplementsShape{@Overridepublicvoiddraw(){System.out.println("draw a circle");}}publicclassSquareimplementsShape{@Overridepublicvoiddraw(){System.out.println("draw a square");}}publicclassSimpleFactory{publicstaticShapecreateShape(String shapeType){if(shapeType ==null){thrownewIllegalArgumentException("Shape type cannot be null.");}switch(shapeType.toLowerCase()){case"circle":returnnewCircle();case"square":returnnewSquare();default:thrownewIllegalArgumentException("Unsupported shape type: "+ shapeType);}}}publicclassDemo{publicstaticvoidmain(String[] args){Shape circle =SimpleFactory.createShape("circle");
circle.draw();Shape square =SimpleFactory.createShape("square");
square.draw();Shape triangle =SimpleFactory.createShape("triangle");
triangle.draw();}}