设计模式 – 抽象工厂,工厂方法,构建器

看起来好像这是问题是一个欺骗,但请承担与我 – 我保证我已经阅读相关的职位(和GOF book)。

在我阅读的一切后,我仍然没有明确什么时候使用抽象工厂,工厂方法或生成器。我相信它会终于沉没在我看到一个简单的例子,一个问题,最好的接近,例如,一个建设者,它会显然愚蠢的使用,说,一个抽象的工厂。

你能提供一个简单的例子,你会明确使用一个模式,而不是其他的?

我明白,如果例子太简单,我可以归结为一个意见的问题,但我希望,如果任何人可以,那个人是在SO。

谢谢。

构建器可帮助您构造复杂对象。一个例子是StringBuilder类(JavaC#),它逐块构建最终的字符串。更好的例子是Spring中的UriComponentsBuilder,它帮助你构建一个URI。

工厂方法在一个镜头中给你一个完整的对象(而不是构建器)。基类定义了一个返回接口(或超类)引用的单个抽象方法,并推迟将对象具体创建为子类。

抽象工厂是一个接口(或抽象类),用于创建许多不同的相关对象。一个好的例子(在.NET中)是DbProviderFactory类,用于根据具体的实现创建给定数据库提供程序(oracle,sql server,…)的相关对象(连接,命令,…)。

http://stackoverflow.com/questions/3687299/abstract-factory-factory-method-builder

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:设计模式 – 抽象工厂,工厂方法,构建器