简单工厂:
1。负责根据我们传入的参数来创建我们需要的对象
优点:体积小,只有一个工厂类
缺点:不符合OCP原则,每当业务增加时,都需要修改工厂类
方法工厂 ;
定义一个所有工厂类的接口,创建对象的功能有接口的实现类负责
优点 :符合ocp 原则,当业务增加时,不需要修改已有代码
,只需要增加对应的实现类工厂即可
缺点:如果业务庞大,工厂体积会特别大
因为一个工厂实现类只负责对应的一种实现
抽象工厂;
整体结构跟方法工厂几乎一样,但是接口里面定义的是一组实例化对象的抽象方法,其实实现类实现的也是一组的对象实例化
工厂就是用来具体来具体的实例化我们的对象,其存在并不具备其他意义
所以不需要给工厂想的太复杂,当我们使用工厂模式的时候
可以根据我们的义务需要定义对应的工厂即可