Java设计模式-抽象工厂模式
2017-07-28 16:09
141 查看
1:使用场景
一个产品族有相同的约束时,可以使用抽象工厂模式
2:UML图
3:代码举例:
public class ConcreteProductA1 extends AbstractProductA{
@Override
public void method(){
System.out.println("我是具体产品A1");
}
}
public class ConcreteProductB1 extends AbstractProductB{
@Override
public void method(){
System.out.println("我是具体产品B1");
}
}
4: Android中的抽象工厂模式
一个产品族有相同的约束时,可以使用抽象工厂模式
2:UML图
3:代码举例:
public abstract class AbstractProductA { public abstract void method(); }
public abstract class AbstractProductB { public abstract void method(); }
public class ConcreteProductA1 extends AbstractProductA{
@Override
public void method(){
System.out.println("我是具体产品A1");
}
}
public class ConcreteProductA2 extends AbstractProductA{ @Override public void method(){ System.out.println("我是具体产品A2"); } }
public class ConcreteProductB1 extends AbstractProductB{
@Override
public void method(){
System.out.println("我是具体产品B1");
}
}
public class ConcreteProductB2 extends AbstractProductB{ @Override public void method(){ System.out.println("我是具体产品B2"); } }
public abstract class AbstractFactory { public abstract AbstractProductA createProductA(); public abstract AbstractProductB createProductB(); }
public class ConcreteFactory1 extends AbstractFactory{ public AbstractProductA createProductA(){ return new ConcreteProductA1(); } public AbstractProductB createProductB(){ return new ConcreteProductB1(); } }
public class ConcreteFactory2 extends AbstractFactory{ public AbstractProductA createProductA(){ return new ConcreteProductA2(); } public AbstractProductB createProductB(){ return new ConcreteProductB2(); } }
public class Client { public static void main(String[] args){ AbstractFactory factory1 =new ConcreteFactory1(); AbstractProductA productA1=factory1.createProductA(); AbstractProductB productB1=factory1.createProductB(); productA1.method(); productB1.method(); AbstractFactory factory2 =new ConcreteFactory2(); AbstractProductA productA2=factory2.createProductA(); AbstractProductB productB2=factory2.createProductB(); productA2.method(); productB2.method(); } }
4: Android中的抽象工厂模式
相关文章推荐
- Java设计模式——抽象工厂模式(Abstract Factory Pattern)
- Java设计模式(三) 抽象工厂模式
- java设计模式-抽象工厂模式
- JAVA设计模式之:工厂模式(下)--抽象工厂模式
- 6.java设计模式(读书笔记)简单工厂模式、工厂方法模式、抽象工厂模式
- java设计模式学习笔记--抽象工厂模式
- java设计模式---抽象工厂模式
- JAVA设计模式之抽象工厂模式
- JAVA系列-设计模式-抽象工厂模式
- Java设计模式之工厂方法、抽象工厂模式 程序 总结
- JAVA设计模式之抽象工厂模式
- java之设计模式工厂三兄弟之抽象工厂模式
- 《学习笔记》之JAVA设计模式--抽象工厂模式
- java中的设计模式 工厂 和抽象工厂模式 的例子
- Java设计模式——抽象工厂模式(Abstract Factory Pattern)
- Java开发中的23种设计模式之二:抽象工厂模式(Abstract Factory)
- JAVA设计模式之抽象工厂模式
- Java设计模式—工厂方法模式&抽象工厂模式
- Java设计模式二:抽象工厂模式(Abstract Factory)/工厂方法(Factory Method)
- Java与设计模式(03)--抽象工厂模式