黑马程序员技术交流社区
标题:
简单工厂模式
[打印本页]
作者:
小车车
时间:
2015-6-4 21:45
标题:
简单工厂模式
//面向接口编程
//1.简单工厂模式。假如让computer类组合一个printer对象,如果有一天系统需要重构,需要使用Butterpriner来代替printer,这就需要
//打开computer类源代码进行修改。这样导致很不方便。
//为了避免这个问题,工厂模式建议让computer类组合一个output类型对象,将computer类与printer类完全分离。
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 class OutputFactory{
public Output getOutput(){
return new Printer();
}
public static void main(String[] args){
OutputFactory of=new OutputFactory();
Computer c= new Computer(of.getOutput());
}
}
public class BetterPrinter implements Output{
}
//上面的BetterPrinter类实现了Output接口,因此也可当成output对象使用,于是只要把outputFactory工厂类的getoutput()方法中代码改为:
//return new BetterPrinter();
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2