我在最近的采访中遇到了这个问题。我用谷歌搜索了它,但除了“这是创建模式,我们可以创建集中式对象”之外,我无法得出这个答案。正如我解释的那样,他问我,但是“我们可以直接在客户端类中为服务器类创建对象。我为什么要使用抽象工厂?”
问问题
113 次
1 回答
1
正如 NoviceProgrammer 所说,使用抽象工厂设计模式意味着使用结果对象的客户端保持独立于实际结果对象,因为它只知道其接口。因此,当 Factory 端需要生成新的对象类型时,只要接口保持不变,客户端就不必更改任何东西来处理它。
关于wikipedia示例,假设您需要添加一个“LinuxButton”类,供您的应用程序使用。然后,您将创建另一个工厂,名为“LinuxFactory”,实现通用的“GUIFactory”接口。这样,“应用程序”类不需要更改任何内容即可使用“LinuxButton”的新具体实现。工厂是做所有工作的人,“应用程序”不需要改变。现在想象一下将其扩展到数百个类,您将看到它的价值。
希望我有所帮助!
于 2013-11-25T06:27:55.907 回答