一般产品系列的构造创建时,选择A系列就直接构造A系列的类,弊端就是添加新的系列时需要设计新的类
但其实产品系列的构造体系大致一样,唯一不同点在相应参数不一致,可用工厂模式设计来在出现新的系列直接在原有工厂模式上扩展即可
适用场景:
1.对象创建过程/实例化对象过程很复杂,需要初始化很多参数,查询数据库等;
2.类本身有好多子类,这些类的创建过程在业务中容易发生改变,或者对类的调用容易发生改变。
方法:
抽象产品
Public Abstract/Interface Shape:{void draw();}
继承
Public class Circle implements Shape{public void draw();}
Public class Rectangle implements Shape{}
工厂模式
Public class ShapeFactory{public Shape getShape(string shapeType){if(shapeType.equel(“Circle”))(return new Circle)};}
调用
ShapeFactory shapeFactory = new ShapeFactory();
Shape circleShape = shapeFactory.getShape(“Circle”);
circleShape.draw();