/**
* 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接口实例
}
}