星零
No reason. I just like it.
    其实工厂模式结构并不复杂,其目的只有一个就是解耦.废话少说看例子吧.这个HelloWorld就足够说明工厂模式在Java语言里的实现方法.
/**
 * IOC模式简单实例
 
*/


/**
 * 运行类
 
*/

public class MainClass {
    
/**
     * 主函数
     
*/

    
public static void main(String[] args) {
        
try {
            PrinterFactory.createPrinter().printByString(
"Hello World~!");
        }
 catch (Exception ex) {
            System.out.println(ex.toString());
        }

    }

}


/**
 * Printer接口
 
*/

interface IF_Printer {
    
/**
     * 接口printByString方法声明
     
*/

    
public void printByString(String str);
}


/**
 * MyPrinter实现Printer接口
 
*/

class MyPrinter implements IF_Printer {
    
public void printByString(String str) {
        System.out.println(str);
    }

}


/**
 * IF_Printer对象工厂,用于创建实现接口的类对象
 
*/

class PrinterFactory {
    
/**
     * 工厂方法,返回IF_Printer接口实例
     
*/

    
public static IF_Printer createPrinter() throws InstantiationException,
            ClassNotFoundException, IllegalAccessException 
{
        String str 
= "MyPrinter";//通过字符串寻找实现接口的类,字符串可从文件中读取获得,从而实现IOC模式
        return (IF_Printer) Class.forName(str).newInstance();//返回IF_Printer接口实例
    }

}

另外这里还有一个更为完整的例子,可用Eclipse打开
https://files.cnblogs.com/starstroll/ModeTrain2.rar
posted on 2008-01-31 19:39  Star.Stroll  阅读(7743)  评论(0编辑  收藏  举报