工厂方法模式(factory method pattern)
工厂方法模式(factory method pattern):属于对象的创建型模式。定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。
工厂方法模式是类的创建模式,又叫做虚拟构造子(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式。
工厂方法模式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
每晚8:00烛光学院的讲师将会在腾讯课堂烛光学院Java高级免费试听课程中
给大家详细讲解
Java学习资料获取或免费进入课堂权限获取(复制下段连接至浏览器即可)
data:text/html;charset=UTF-8;base64,5p625p6E5biI5a2m5Lmg6LWE5paZ5YWN6LS56aKG5Y+W6K+35Yqg5omj5omj5Y+35pivMTAxODkyNTc4MA==
本文介绍了工厂方法模式的概念、特点及应用场景。通过示例代码详细解释了抽象角色、具体角色、抽象工厂角色和具体工厂角色的作用。
1170

被折叠的 条评论
为什么被折叠?



