论坛首页 Java企业应用论坛

静态方法设计探讨

浏览 9132 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (10) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-11-19   最后修改:2008-11-19
一个公用的类,提供一些常用的办法,这里我就拿把123456格式化成123,456这样的方法来说吧。
方案一:
public class FormatterUtil {
	public String formatterString(String money){
		//.....
		return money;
	}
}

比如在servlet中使用,通过spring依赖注入保持FormatterUtil的单例
private FormatterUtil formatterUtil;

	public void execute(){
		String money ="123456";
		formatterUtil.formatterString(money);
	}
	
	
	public FormatterUtil getFormatterUtil() {
		return formatterUtil;
	}

	public void setFormatterUtil(FormatterUtil formatterUtil) {
		this.formatterUtil = formatterUtil;
	}

方案二:
public class FormatterUtil {
	public static String formatterString(String money){
		//.....
		return money;
	}

}

使用:
public void execute(){
		String money ="123456";
		FormatterUtil.formatterString(money);
	}

util类的内容很多,或者是类似的manager类。
大家认为哪一种解决方案好,或者更好的解决办法。
   发表时间:2008-11-19  
为什么没人探讨,说的不好的地方也希望大侠批评啊!!!!!
0 请登录后投票
   发表时间:2008-11-19  
这种无状态,与业务逻辑关系不大的工具类当然静态方法最佳。
1 请登录后投票
   发表时间:2008-11-20  
这种还注入啥的 多此一举
0 请登录后投票
   发表时间:2008-11-20  
public void execute(){  
        String money ="123456";  
        FormatterUtil.formatterString(money);  
    }  

还是静态比较好吧?
0 请登录后投票
   发表时间:2008-11-21  
dennis_zane 写道
这种无状态,与业务逻辑关系不大的工具类当然静态方法最佳。



 
0 请登录后投票
   发表时间:2008-11-21  
定义成静态方法好,如果使用第一种方案,那么如果有多个类都需要使用这个方法的话,那你就得把这个bean注入到很多其他的bean中。那样配置文件中会多谢很多内容。
0 请登录后投票
   发表时间:2008-11-24  
dennis_zane 写道
这种无状态,与业务逻辑关系不大的工具类当然静态方法最佳。


就是这个
0 请登录后投票
   发表时间:2008-11-24  
zxbyhcsdn 写道
面向对象设计的一个原则,
针对可变性封装,
哪个工具类的那些方法,有什么可变的麻!!


个人认为这个是最佳答案.
0 请登录后投票
   发表时间:2008-11-24  
如果你的转换规则可能要变化
就先定义个接口
写个实现类注入进去比较好

如果转换规则变化不大的话,就用第二种方式
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics