试图找出工厂和抽象工厂之间的区别。
据我所知,当我想要创建属性相同但类型不同的对象时,我会使用工厂(例如,我想要10匹马,它们的重量、高度和年龄相同,但它们的名称应该不同)。
所以我创建了一个接口(或者抽象类?)它已经照顾到体重,身高和年龄,当我想要创造一匹新的马时,只需要用名字喂养它。
假设我想给马增加颜色属性。这会成为使用抽象工厂的好理由吗?我要买两家工厂,一家是黑马,一家是棕色马。这有什么意义吗?
发布于 2015-12-21 08:32:58
抽象工厂模式围绕着创建一个建立其他工厂的工厂。所以你宁愿使用它,当你有一个场景,你知道你想要建造,例如,马,牛,也许还有猪和羊来模仿你的类比。既然他们都是农场动物,他们可能会有很多共同的财产,因此他们的工厂在某种意义上应该是相似的,所以你可以创建一个工厂工厂来生产一个骨架的“农场动物工厂”。
从这一点,你现在可以生产一个马工厂,奶牛工厂和任何你需要的东西。
因此,它基本上是进一步抽象工厂概念,这样您就可以使用模板方法来创建对象,而且可以创建产生对象的工厂……
https://stackoverflow.com/questions/34391333
复制相似问题