`
runfeel
  • 浏览: 906106 次
文章分类
社区版块
存档分类
最新评论

java工厂方法模式

 
阅读更多

工厂方法模式

定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个雷的实例化延迟到其子类。

public interfaceExportFileApi {

publicbooleanexport(String data);

}

public classExportTxtFile implementsExportFileApi{

@Override

publicbooleanexport(String data) {

//TODO Auto-generated methodstub

System.out.println("ExportTxtFile");

returntrue;

}

}

public classExportDB implementsExportFileApi{

@Override

publicboolean export(String data) {

//TODO Auto-generated methodstub

System.out.println("ExportDB");

returntrue;

}

}

public abstractclass ExportOperate {

publicbooleanexport(String data){

ExportFileApi api = factoryMethod();

returnapi.export(data);

}

protectedabstractExportFileApi factoryMethod();

}

public classExportTxtFileOperate extendsExportOperate{

@Override

protectedExportFileApi factoryMethod() {

//TODO Auto-generated methodstub

returnnew ExportTxtFile();

}

}

public classExportDBOperate extendsExportOperate{

@Override

protectedExportFileApi factoryMethod() {

//TODO Auto-generated methodstub

returnnew ExportDB();

}

}

public classClient {

publicstatic void main(String[] args){

ExportOperate operate = new ExportDBOperate();

operate.export("test");

}

}

Output:

ExportDB

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics