抽象工厂模式
来源:互联网 发布:数据分析找规律问题 编辑:程序博客网 时间:2024/06/16 16:55
{
// 仅定义一个方法用于返回输出设备。
Output getOutput();
}
public class PrinterFactory
implements OutputFactory
{
public Output getOutput()
{
// 该工厂只负责产生Printer对象
return new Printer();
}
}
public class BetterPrinterFactory
implements OutputFactory
{
public Output getOutput()
{
// 该工厂只负责产生BetterPrinter对象
return new BetterPrinter();
}
}
public class OutputFactoryFactory
{
// 仅定义一个方法用于返回输出设备。
public static OutputFactory getOutputFactory(
String type)
{
if (type.equalsIgnoreCase("better"))
{
return new BetterPrinterFactory();
}
else
{
return new PrinterFactory();
}
}
}
public class Computer
{
private Output out;
public Computer(Output out)
{
this.out = out;
}
// 定义一个模拟获取字符串输入的方法
public void keyIn(String msg)
{
out.getData(msg);
}
// 定义一个模拟打印的方法
public void print()
{
out.out();
}
public static void main(String[] args)
{
// 使用OutputFactoryFactory工厂类创建OutputFactory
OutputFactory of = OutputFactoryFactory
.getOutputFactory("better");
// 调用OuputFactory的方法获取Output对象,
// 并将Output对象传入,创建Computer对象
Computer c = new Computer(of.getOutput());
c.keyIn("轻量级Java EE企业应用实战");
c.keyIn("疯狂Java讲义");
c.print();
}
}
工厂方法中,客户端代码与不同的工厂类耦合。
抽象工厂类不再直接产生output对象,而是产生工厂类。
- 工厂模式 -- 抽象工厂
- 工厂模式-抽象工厂
- 工厂模式-抽象工厂
- 工厂模式/抽象工厂模式
- 工厂模式&&抽象工厂模式
- 工厂模式---抽象工厂模式
- 工厂模式&抽象工厂模式
- 工厂模式,抽象工厂模式
- 【模式】抽象工厂模式
- 简单工厂、工厂模式、抽象工厂模式
- 简单工厂、工厂模式、抽象工厂模式
- 简单工厂&工厂模式&抽象工厂模式
- 工厂方法,抽象工厂模式
- 2,工厂模式--抽象工厂
- C#工厂模式-抽象工厂
- 工厂模式与抽象工厂
- 抽象工厂设计模式
- 抽象工厂模式
- mac android studio Waiting for application to come online解决方案
- android报找不到so的错误
- android 主线程是线程不安全的
- C# 设置程序随机启动
- 在北京外地农村户口和城镇户口五险一金的区别?
- 抽象工厂模式
- 【Android】Lambda表达式
- 我为什么要写博客--写在从业一周年
- linux线程之间的通信
- Eclipse 'The default workspace is in use or cannot be created'
- Fragment 与 Activity 生命周期对比
- vc 获取U盘盘符
- Linux运维人员需要掌握一门编程语言吗?
- Android实现点击AlertDialog上按钮时不关闭对话框的方法