专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java设计模式(六):工厂方法模式(java设计模式之工厂模式)

temp10 2024-10-11 18:29:09 java教程 15 ℃ 0 评论

工厂方法模式(factory method pattern)

工厂方法模式(factory method pattern):属于对象的创建型模式。定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。

工厂方法模式是类的创建模式,又叫做虚拟构造子(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式。

Java设计模式(六):工厂方法模式(java设计模式之工厂模式)


工厂方法模式UML图

Java


工厂方法模式涉及的角色

抽象角色:工厂方法模式所创建的对象的超类。如图中 Operation。具体角色:具体角色,实现具体角色。如图中 OperationAdd、OperationSub、OperationMul、OperationDiv。抽象工厂角色 :这个角色的是工厂方法模式的核心,任何在模式中创建对象的工厂类必须实现这个接口。如图中 Ifactory。具体工厂角色 :抽象工厂接口的具体实现,含有与业务密切相关的逻辑,并且受到使用者的调用以创建导出类。如图中 AddFactory、SubFactory、MulFactory、DivFactory。


示例代码

运算类 OperationFactory

Java

运算抽象类 AbstractOperation

Java

加法运算类 OperationAdd

Java

减法运算类 OperationSub

Java

乘法运算类 OperationMul

Java

除法运算类 OperationDiv

Java

工厂接口类 IFactory

Java

加法工厂类 AddFactory

Java

减法工厂类 SubFactory

Java

乘法工厂类 MulFactory

Java

除法工厂类 DivFactory

Java

客户端测试类 FactoryMethodTest

Java


工厂方法模式与简单工厂模式比较

工厂方法模式克服了简单工厂模式违背的开放-封闭原则的缺点,它是简单工厂模式的进一步抽象和广,从而降低了客户端与产品的耦合,增加对应计算类的抽象工厂这样就把简单工厂的内部逻辑判断转移到了客户端代码类来进行。本来是改工厂类,而现在是修改客户端。

以上所述是小编给大家介绍的工厂方法模式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的!

Java学习资料(复制下段链接至浏览器即可)

data:textml;charset=UTF-8;base64,5oGt5Zac5L2g77yM5p625p6E5biI5a2m5Lmg576k5Y+35pivNjg2NTc5MDE0Cg==

Java

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表