设计模式之抽象工厂模式
2017-06-28 22:34
281 查看
普通工厂模式下比较重度依赖工厂类,如果想拓展功能则必须对工厂类进行修改,则抽象工厂应运而生,该模式下新建多个工厂类,这样一旦增加功能则只需要增加新的工厂类就ok了,代码如下
package com.demo.stragetry; import org.apache.hadoop.classification.InterfaceAudience.Public; import com.sun.corba.se.spi.orb.OperationFactory; import com.weibo.stragetry.multifacory.Sender; public class FactoryTest { static interface Operation{ public void calculate(); } public interface Provider{ public Operation produce(); } public static class AddOperation implements Operation{ @Override public void calculate() { // TODO Auto-generated method stub System.out.println("add operation"); } } public static class SubOperation implements Operation{ @Override public void calculate() { // TODO Auto-generated method stub System.out.println("sub operation"); } } public static class MulOperation implements Operation{ @Override public void calculate() { // TODO Auto-generated method stub System.out.println("mul operation"); } } public static class DivOperation implements Operation{ @Override public void calculate() { // TODO Auto-generated method stub System.out.println("div operation"); } } public static class FaltOperation implements Operation{ @Override public void calculate() { // TODO Auto-generated method stub System.out.println("Falt operation"); } } public static class AddFactory implements Provider{ @Override public Operation produce() { // TODO Auto-generated method stub return new AddOperation(); } } public static class SubFactory implements Provider{ @Override public Operation produce() { // TODO Auto-generated method stub return new SubOperation(); } } public static class MulFactory implements Provider{ @Override public Operation produce() { // TODO Auto-generated method stub return new MulOperation(); } } public static class DivFactory implements Provider{ @Override public Operation produce() { // TODO Auto-generated method stub return new DivOperation(); } } public static void main(String[] args) { Provider provider = new AddFactory(); Operation operation = provider.produce(); operation.calculate(); } }
相关文章推荐
- 设计模式系列--抽象工厂模式
- 设计模式之抽象工厂模式
- 设计模式之抽象工厂模式(Abstract Factroy)
- 设计模式和原则:抽象工厂模式
- 设计模式学习--抽象工厂模式
- 设计模式-抽象工厂模式
- 设计模式--Abstract Factory抽象工厂模式
- 设计模式-抽象工厂模式(abstractFactory pattern)
- <Java设计模式>—抽象工厂模式
- 设计模式之抽象工厂模式
- 23种设计模式(3):抽象工厂模式
- JAVA 设计模式抽象工厂模式
- 设计模式(3)---->抽象工厂模式
- 设计模式知识连载(15)---抽象工厂模式:
- 23种设计模式之抽象工厂模式
- 设计模式之抽象工厂模式
- 详解C#的设计模式编程之抽象工厂模式的应用
- C#设计模式——抽象工厂模式(Abstract Factory Pattern)
- 设计模式--(1)工厂模式与抽象工厂模式
- 设计模式-抽象工厂模式