一:是一种创建者模式,定义一个创建对象的接口,让子类自己去选择去实现哪个工厂类,将创建对象的过程延迟到子类去进行。
二:优点:1.名称:只需要知道名字就可以创建对象。
2.扩展性:扩展性高,如果要增加一个产品只需要扩展一个工厂类就可以。
3.本身:使调用者只需要关注对象本身,不需要关注是怎样创建的。(买一辆车,直接去4s店提而不需要知道这辆车具体是怎样生产的)
三:缺点:增加了程序的复杂程度,没生产一个新的对象,就需要创建一个新的工厂类,使类数量大幅上涨。
2.增加了具体类的依赖,创建一个类,需要实现另一个类。
四:适用场景:日志记录器,数据库访问。
五:注意:作为一种创建类模式,在创建任何复杂对象时,都可以使用工厂模式,但是在创建简单对象时尤其是可以直接new出来的对象时,就不需要使用工厂模式,否则只会增加程序的复杂程度。