工厂模式:定义一个用于创建对象的接口,让子类决定实现哪个具体接口,是一个类的延迟到其子类
如果想创建某个对象,只知道某个产品的名字通过 **ShapeFactory.getShape(“产品名字”)**返回的是该名字的对象,即可创建对象
优点:1、如果想创建新的对象,创建者只知道其名称就行。扩展性高,如果想增加一个产品,只增加一个产品类工厂就行
缺点:1、每次增加一个新的产品,都需要增加新的具体类和新的对象工厂,导致系统中类的个数成倍德增加,同时也增加了系统具体类的依赖。这并不是什么好事。
抽象工厂模式:提供一个创建一系列相关或者相互依赖的接口,而无需指定他们具体的类
1、在抽象工厂中增加一个工厂时如CarFactory时,应该继承AbstractFactory类,并且让还应该创建一个车类Car接口,让轿车、公交车实体类分别继承Car接口。如果我想创建轿车对象,应该调用Producer.getFactory(“名字”)返回一个继承抽象工厂的CarFactory对象,