网站备案地址查询,做python题目的网站,上海个人网站建,优化大师官网工厂模式
定义#xff1a;工厂模式是创建子类实例化对象的一种方式#xff0c;屏蔽了创造工厂的内部细节。把创建对象与使用对象进行拆分#xff0c;满足单一职责。如果需要向工厂中添加新商品#xff0c; 只需要扩展子类再重写其工厂方法#xff0c;满足开闭原则。 设计…工厂模式
定义工厂模式是创建子类实例化对象的一种方式屏蔽了创造工厂的内部细节。把创建对象与使用对象进行拆分满足单一职责。如果需要向工厂中添加新商品 只需要扩展子类再重写其工厂方法满足开闭原则。 设计模式一定要敲代码理解 上图是对于不同类型的床进行生产
商品信息
public interface Bed {void getInfo();
}public class IronBed implements Bed {Overridepublic void getInfo() {System.out.println(生产了一个铁艺床);}
}public class RattanBed implements Bed {Overridepublic void getInfo() {System.out.println(生产了一个藤艺床);}
}public class WoodBed implements Bed {Overridepublic void getInfo() {System.out.println(生产了一个实木床);}
}工厂生产反射
public class BedFactory {private static final String CLASSPATHcom.ggbond.design01CreationalPattern.impl.;public Bed product(String bedType) throws Exception {if (bedType.isBlank()){return null;}Class? clazz Class.forName(CLASSPATH bedType);return (Bed) clazz.getDeclaredConstructor().newInstance();}
}每个工厂负责生产自己的商品。如果扩充商品的话需新加工厂与商品。 如果是很多商品工厂模式的缺点就暴露出来代码可能会因此变得更复杂。
具体代码获取
代码下载