之前介绍了简单工厂模式,我们也认识到简单模式的缺点其实也很明显,工厂类的职责相对过重,不易于扩展过于复杂的产品结构。所以我们现在来介绍一下工厂方法模式。工厂方法模式是指定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法模式其宗旨其实就是将类的实例化推迟到子类中进行。在工厂方法模式中用户只需要关心所需产品对应的工厂,无需关心创建细节。
接下来我们还是拿酒厂的例子来做代码演示。
之前介绍了简单工厂模式,我们也认识到简单模式的缺点其实也很明显,工厂类的职责相对过重,不易于扩展过于复杂的产品结构。所以我们现在来介绍一下工厂方法模式。工厂方法模式是指定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法模式其宗旨其实就是将类的实例化推迟到子类中进行。在工厂方法模式中用户只需要关心所需产品对应的工厂,无需关心创建细节。
接下来我们还是拿酒厂的例子来做代码演示。
在现实生活中,其实我们可以看到很多的工厂,大大小小的,从最最简单的的造酒厂到大型的代加工的富士康,这个其实就是工厂的演变以及进化。于是乎在我们Java世界里,其实工厂模式也可以进化演变。老猫研究了一段时间,并且总结分享给大家。
进化的流程大致是这样的:
简单工厂模式->工厂方法模式->抽象工厂模式。接下来,跟着老猫一个一个往下看,在此期间,老猫会举一些例子,供大家参考。
Update your browser to view this website correctly. Update my browser now