¡¶JAVAÓëģʽ¡·µÚ2Ìì¨D¹¤³§·½·¨Ä£Ê½ (¶þ)

2014-11-24 08:22:21 ¡¤ ×÷Õß: ¡¤ ä¯ÀÀ: 3
±ø¡ªAK47
* @´´½¨Ê±¼ä£º2012-6-19 ÏÂÎç02:55:04
*
* @Àà˵Ã÷ £º¾ßÌ幤³§½ÇÉ«Àà
*/
public class ExportPdfFactory implements ExportFactory {

@Override
public ExportFile factory(String type) {
if ("standard".equals(type)) {

return new ExportStandardHtmlFile();

} else if ("financial".equals(type)) {

return new ExportFinancialHtmlFile();

} else {
throw new RuntimeException("ûÓÐÕÒµ½¶ÔÏó");
}
}

}

³éÏóµ¼³ö½ÇÉ«ÀàÔ´´úÂ룺

[java]
package com.bankht.factoryMethod;

/**
* @author: ÌØÖÖ±ø¡ªAK47
* @´´½¨Ê±¼ä£º2012-6-19 ÏÂÎç02:55:47
*
* @Àà˵Ã÷ £º³éÏóµ¼³öÎļþÀà
*/
public interface ExportFile {
public boolean export(String data);
}
package com.bankht.factoryMethod;

/**
* @author: ÌØÖÖ±ø¡ªAK47
* @´´½¨Ê±¼ä£º2012-6-19 ÏÂÎç02:55:47
*
* @Àà˵Ã÷ £º³éÏóµ¼³öÎļþÀà
*/
public interface ExportFile {
public boolean export(String data);
}

¾ßÌåµ¼³ö½ÇÉ«ÀàÔ´´úÂ룬ͨ³£Çé¿öÏÂÕâ¸öÀà»áÓи´ÔÓµÄÒµÎñÂß¼­¡£

²ÆÎñ£º

[java]
package com.bankht.factoryMethod;

/**
* @author: ÌØÖÖ±ø¡ªAK47
* @´´½¨Ê±¼ä£º2012-6-19 ÏÂÎç02:54:54
*
* @Àà˵Ã÷ £ºµ¼³ö²ÆÎñ°æHTMLÎļþ
*/
public class ExportFinancialHtmlFile implements ExportFile {

@Override
public boolean export(String data) {
// TODO Auto-generated method stub
/**
* ÒµÎñÂß¼­
*/
System.out.println("µ¼³ö²ÆÎñ°æHTMLÎļþ");
return true;
}

}
package com.bankht.factoryMethod;

/**
* @author: ÌØÖÖ±ø¡ªAK47
* @´´½¨Ê±¼ä£º2012-6-19 ÏÂÎç02:54:54
*
* @Àà˵Ã÷ £ºµ¼³ö²ÆÎñ°æHTMLÎļþ
*/
public class ExportFinancialHtmlFile implements ExportFile {

@Override
public boolean export(String data) {
// TODO Auto-generated method stub
/**
* ÒµÎñÂß¼­
*/
System.out.println("µ¼³ö²ÆÎñ°æHTMLÎļþ");
return true;
}

}

[java]
package com.bankht.factoryMethod;

/**
* @author: ÌØÖÖ±ø¡ªAK47
* @´´½¨Ê±¼ä£º2012-6-19 ÏÂÎç02:54:54
*
* @Àà˵Ã÷ £ºµ¼³ö²ÆÎñ°æPDFÎļþ
*/
public class ExportFinancialPdfFile implements ExportFile {

@Override
public boolean export(String data) {
// TODO Auto-generated method stub
/**
* ÒµÎñÂß¼­
*/
System.out.println("µ¼³ö²ÆÎñ°æPDFÎļþ");
return true;
}

}
package com.bankht.factoryMethod;

/**
* @author: ÌØÖÖ±ø¡ªAK47
* @´´½¨Ê±¼ä£º2012-6-19 ÏÂÎç02:54:54
*
* @Àà˵Ã÷ £ºµ¼³ö²ÆÎñ°æPDFÎļþ
*/
public class ExportFinancialPdfFile implements ExportFile {

@Override
public boolean export(String data) {
// TODO Auto-generated method stub
/**
* ÒµÎñÂß¼­
*/
System.out.println("µ¼³ö²ÆÎñ°æPDFÎļþ");
return true;
}

}

ÆÕͨ£º

[java]
package com.bankht.factoryMethod;

/**
* @author: ÌØÖÖ±ø¡ªAK47
* @´´½¨Ê±¼ä£º2012-6-19 ÏÂÎç02:54:54
*
* @Àà˵Ã÷ £ºµ¼³ö±ê×¼HTMLÎļþ
*/
public class ExportStandardHtmlFile implements ExportFile {

@Override
public boolean export(String data) {
// TODO Auto-generated method stub
/**
* ÒµÎñÂß¼­
*/
System.out.println("µ¼³ö±ê×¼HTMLÎļþ");
return true;
}

}
package com.bankht.factoryMethod;

/**
* @author: ÌØÖÖ±ø¡ªAK47
* @´´½¨Ê±¼ä£º2012-6-19 ÏÂÎç02:54:54
*
* @Àà˵Ã÷ £ºµ¼³ö±ê×¼HTMLÎļþ
*/
public class ExportStandardHtmlFile implements ExportFile {

@Override
public boolean export(String data) {
// TODO Auto-generated method stub
/**
* ÒµÎñÂß¼­
*/
System.out.println("µ¼³ö±ê×¼HTMLÎļþ");
return true;
}

}

[java]
package com.bankht.factoryMethod;

/**
* @author: ÌØÖÖ±ø¡ªAK47
* @´´½¨Ê±¼ä£º2012-6-19 ÏÂÎç02:54:54
*
* @Àà˵Ã÷ £ºµ¼³ö±ê×¼PDFÎļþ
*/
public class ExportStandardPdfFile implements ExportFile {

@Override
public boolean export(String data) {
// TODO Auto-generated method stub
/**