工厂模式在Struts中的使用 ModuleConfig

//接口
interface ModuleConfig{

  //一些getter setter find方法 对DataSource MessageResource ActionMapping等资源文件进行操作
}


//就是 具体产品类
class ModuleConfigImpl implements ModuleConfig{

    //用于产生一个默认的ModuleConfig对象
	public ModuleConfigImpl(String prefix){
		//初始化默认的资源类型  大部分为null,一些指定了基本类型
	}

    /**Struts_config.xml中的<action-mapping>配置项*/
    protected  HashMap forwards;
    protected  HashMap messageResources;

    //省略其他的一些属性
}


//工厂类
abstract class ModuleConfigFactory{

	//创建产品
	abstract ModuleConfig createModuleConfig(String prefix);

	//获得工厂类对象
	ModuleConfigFactory getModuleConfigFactory(String prefix){
		//返回DefaultModuleConfigFactory对象
		return new DefaultModuleConfigFactory(prefix);
	}
}

//工厂类的默认实现
class DefaultModuleConfigFactory extends ModuleConfigFactory{
	
	//实现抽象方法
	ModuleConfig createModuleConfig(String prefix){
		return new ModuleConfigImpl(prefix);
	}

}

/**调用方法ActionServlet类中的init()方法:*/

//实例工厂类
ModuleConfigFactory moduleConfigFactory=ModuleConfigFactory.createModuleConfigFactory();

//获得产品
ModuleConfig moduleConfig=oduleConfigFactory.createModuleConfig(prefix);



 

Sturts使用工厂类创造了ModuleConfig对象,其实还是使用了面向接口编程的方法,利用接口来动态的指定其子类,便于扩展

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值