java设计模式-工厂模式

Posted 无才可去补苍天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java设计模式-工厂模式相关的知识,希望对你有一定的参考价值。

Real world example
> 铁匠制造武器。 精灵需要精灵武器和兽人需要兽人武器。 根据手头的顾客,召唤正确类型的铁匠。
> Blacksmith manufactures weapons. Elves require Elvish weapons and orcs require Orcish weapons. Depending on the customer at hand the right type of blacksmith is summoned.

In plain words
> 它提供了一种将实例化逻辑委托给子类的方法。
> It provides a way to delegate the instantiation logic to child classes.

Wikipedia says
> 在基于类的编程中,工厂方法模式是一种创建模式,它使用工厂方法来处理创建对象的问题,而无需指定将创建的对象的确切类别。
这是通过调用一个工厂方法创建对象来完成的,这个方法要么在接口中指定,要么由子类实现,要么在基类中实现,并且可以被派生类重写,而不是通过调用构造函数。
> In class-based programming, the factory method pattern is a creational pattern that uses factory methods to deal with the problem of creating objects without having to specify the exact class of the object that will be created. This is done by creating objects by calling a factory method—either specified in an interface and implemented by child classes, or implemented in a base class and optionally overridden by derived classes—rather than by calling a constructor.



Use the Factory Method pattern when
使用工厂方法模式:
* a class can‘t anticipate the class of objects it must create
* 一个类无法预测它必须创建的对象的类
* a class wants its subclasses to specify the objects it creates
* 一个类想让它的子类指定它创建的对象
* classes delegate responsibility to one of several helper subclasses, and you want to localize the knowledge of which helper subclass is the delegate
* 类将责任委派给几个助手子类之一,并且您想本地化哪些助手子类是委托的知识






















以上是关于java设计模式-工厂模式的主要内容,如果未能解决你的问题,请参考以下文章

JAVA设计模式之工厂模式

java与模式,这段代码怎么反映简单工厂模式了?

java设计模式 GOF23 02 工厂模式

Java设计模式图文代码案例详解Java五大创建者模式 建造者原型(抽象)工厂单例模式

java设计模式--工厂模式

Java 工厂模式