我们究竟能描述设计模式的工厂方法?

时间:2017-11-15 15:42:14

标签: java oop design-patterns software-design software-quality

我对这个概念感到困惑?它是否像结合静态方法返回对象而不是构造函数一样简单?因此,客户在更新库时不需要更改代码,或者还有更多内容吗?

1 个答案:

答案 0 :(得分:0)

本书Head First Design Patterns将成为您的Java权威指南。那是一本好书。如果您查看我对此Stack Overflow Question的回答,您将能够在使用ArbitraryPointFactoryPoint Example代码中看到Factory Method pattern课程的实施情况以及如何它与Abstract Factory pattern类中的Point Factory不同。虽然这个答案是用C#代码示例呈现的,但我用来描述其用法的设计模式语言应该保证给你一个答案。

你在问题中想到的不是设计模式。这个静态方法返回一个对象来封装实例化,在Wiki页面中可以看作是Simple FactoryFactory Method模式或多或少地抽象了通过接口返回的类型。这通常是在factory method类的唯一作业是控制实现返回接口的一个concrete类的对象的创建的情况下完成的。 Abstract Factory为一组相关产品提供封装。在我的示例中,我展示了不同类型的点,但是它们可以实现不同的接口,并且都使用相同的Abstract Factory

这个想法是你编程接口,而不是实现。真正的工厂将创建逻辑拉到应用程序中的单个位置,并通过接口封装实例化。