悬赏分:10 浏览:410 次
它们之间的区别:工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个.
除了上面这个区别,它们之间最重要的区别还有哪些?在园子里看了好多文章,还是没有搞清楚~一头雾水
|
区别就是这一个吧,通俗一点说就是工厂方法只能生产一类产品,而抽象工厂却能生产n类产品。 我总觉得这里"抽象工厂" 前面两个字应该是动词而不是形容词~~可以结合代码体会`~ 抽象工厂是指可以通过多个派生类创建不同类的产品。 哈哈,沙加一语道破。我来补充一下。 “抽象工厂”模式依赖于“工厂方法”模式的。因此,抽象工厂强调的是前面的动词“抽象”,也就是说,你将工厂方法模式中的工厂方法抽象出来的那个"动作或设计"就是“抽象工程”模式了。 :-) “抽象工厂”模式依赖于“工厂方法”模式的。因此,抽象工厂强调的是前面的动词“抽象”,也就是说,你将工厂方法模式中的工厂方法抽象出来的那个"动作或设计"就是“抽象工程”模式了。 工厂方法模式主要针对工厂中的产品,抽象工厂模式主要针对工厂。 在抽象工厂模式中,想要什么产品只需要知道某个工厂就可以了,而工厂方法没有工厂可以指定,这是主要的区别。 |