http://blog.youkuaiyun.com/wangwenhui11/article/details/3955125
工厂方法是由子类自行决定实例化那个类,抽象工厂是自己决定实例化哪个类。至于是组合还是继承还是实现接口都无所谓。根本区别在于是自己实例化还是子类实例化。
工厂方法模式的UML图

从UML图可以看出,在工厂方法模式中,工厂类与具体产品类具有平行的等级结构,它们之间是一一对应的。针对UML图的解释如下:
Creator类:充当抽象工厂角色,任何具体工厂都必须继承该抽象类
TomatoScrambledEggsFactory和ShreddedPorkWithPotatoesFactory类:充当具体工厂角色,用来创建具体产品
Food类:充当抽象产品角色,具体产品的抽象类。任何具体产品都应该继承该类
TomatoScrambledEggs和ShreddedPorkWithPotatoes类:充当具体产品角色,实现抽象产品类对定义的抽象方法,由具体工厂类创建,它们之间有一一对应的关系。
本文深入探讨了工厂方法模式与抽象工厂模式的概念、关键区别及其在软件设计中的应用。通过详细的解释和UML图示,展示了两种模式如何在创建对象时提供灵活和解耦的设计方式。
2597

被折叠的 条评论
为什么被折叠?



