反射机制与配置文件结合的工厂设计模式

//通过配置文件方式保存完整的类路径与反射机制结合的工厂设计模式


package org.lee.demo.factorydemo03;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Properties;


interface Fruit{
public void eat();
};
class Apple implements Fruit{
public void eat(){
System.out.println("**吃苹果");
}
};
class Orange implements Fruit{
public void eat(){
System.out.println("**吃橘子");
}
};
class Init{
public static Properties getPro(){
Properties pro=new Properties();
File file=new File("F:\\DOCUMENT\\Java实训\\D42\\FactoryClass\\fruit.properties");
try{
if(file.exists()){  //判断是否存在
pro.load(new FileInputStream(file));
}else{
pro.setProperty("apple","org.lee.demo.factorydemo03.Apple");
pro.setProperty("orange","org.lee.demo.factorydemo03.Orange");
pro.store(new FileOutputStream(file),"FRUIT CLASS");
}
}catch(Exception e){
e.printStackTrace();
}
return pro;
}
};
class Factory{
public static Fruit getInstance(String className){
Fruit fruit=null;
try{
fruit=(Fruit)Class.forName(className).newInstance();
}catch(Exception e){
e.printStackTrace();
}
return fruit;
}
};
public class FactoryDemo03{
public static void main(String args[]){
Properties pro=Init.getPro();
Fruit f=Factory.getInstance(pro.getProperty("apple"));
if(f!=null){
f.eat();
}
}
};


/*总结:以上的程序达到了配置文件与程序代码分离的目的,这种设计思路是开发的基本思路
        当然,最新的设计理念是程序中直接通过注释的方式进行配置
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值