`
harrison2010
  • 浏览: 105750 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

静态方法设计探讨

阅读更多
一个公用的类,提供一些常用的办法,这里我就拿把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类。
大家认为哪一种解决方案好,或者更好的解决办法。
分享到:
评论
22 楼 rockjava 2008-11-26  
hyys2008 写道
一看都很菜,连该不该用utils类都不知道,javaeye上你们不是无数的人都在讨论设计模式,oo么?这种问题也出来了

老子通常情况想是不用utils的,这些菜鸟即便用utils类估计你们都不会想到要提供一个private的default construction

哎,郁闷,老子又献出了一招绝学,不过,希望你们这些菜鸟能学到丁点就好了。

没事出来叫叫,提高提高知名度!
21 楼 harrison2010 2008-11-26  
hyys2008 大家都是在讨论不要搞的那么粗鲁 。既然你说你的厉害,给大家说明白啊,你不说明白大家都不相信了?
20 楼 hyys2008 2008-11-25  
没想到这里还有几个垃圾,尤其是哪些狂吠的人渣,估计是从石头缝里蹦出来得,什么都不知道,瞎说个毛啊

看你就什么都不知道,谁说只有单列才能有private的constructor了?

你连utils里用private的constructor的作用是什么都不知道还在狂吠个毛啊?一看你就知道从没写过代码。

老子可从来没说用单列,老子也最讨厌单列。
19 楼 fuliang 2008-11-25  
harrison2010 写道
首先谢谢大家的参与和一些批评
我看大家都认同第二种方案,<script type="text/javascript" src="http://www.iteye.com/javascripts/tinymce/themes/advanced/langs/zh.js"></script><script type="text/javascript" src="http://www.iteye.com/javascripts/tinymce/plugins/javaeye/langs/zh.js"></script>有人说用单例我就<script type="text/javascript" src="http://www.iteye.com/javascripts/tinymce/themes/advanced/langs/zh.js"></script><script type="text/javascript" src="http://www.iteye.com/javascripts/tinymce/plugins/javaeye/langs/zh.js"></script>不明白了,为什么要用单列?
在第二种方案中会不会出现这样的情况,希望再次探讨,如果这个工具类中需要使用一个全局的变量,当有两段代码调用utils中的不同的方法,但是都用到这个全局的变量,如果不考虑线程安全的问题,不就会出错了吗?
我想问的是工具类中会不会用全局变量,应该不应该有全局变量,如果有的话,怎么去避免线程不安全的问题,如果要去避免线程不安全的问题,那么是不是第一种方案更佳?


工具类一般都是静态函数吧,一般工具类的暴露的工具方法都是自包含的,不应该使用全局变量。当然Java中的“全局变量"约等于单例的化,线程安全是单例自己负责的,与工具类无关,当然这时候的Java的这种”全局变量“是可以被使用的。另外工具类里面不应该有类的静态成员变量在各个工具类使用并改变它,这样对以后的使用具有副作用。
18 楼 harrison2010 2008-11-25  
首先谢谢大家的参与和一些批评
我看大家都认同第二种方案,有人说用单例我就不明白了,为什么要用单列?
在第二种方案中会不会出现这样的情况,希望再次探讨,如果这个工具类中需要使用一个全局的变量,当有两段代码调用utils中的不同的方法,但是都用到这个全局的变量,如果不考虑线程安全的问题,不就会出错了吗?
我想问的是工具类中会不会用全局变量,应该不应该有全局变量,如果有的话,怎么去避免线程不安全的问题,如果要去避免线程不安全的问题,那么是不是第一种方案更佳?
17 楼 JavaFlasher 2008-11-25  
hyys2008 写道
一看都很菜,连该不该用utils类都不知道,javaeye上你们不是无数的人都在讨论设计模式,oo么?这种问题也出来了

老子通常情况想是不用utils的,这些菜鸟即便用utils类估计你们都不会想到要提供一个private的default construction

哎,郁闷,老子又献出了一招绝学,不过,希望你们这些菜鸟能学到丁点就好了。


人渣!!!
16 楼 xixix2004 2008-11-25  
hyys2008 写道
一看都很菜,连该不该用utils类都不知道,javaeye上你们不是无数的人都在讨论设计模式,oo么?这种问题也出来了

老子通常情况想是不用utils的,这些菜鸟即便用utils类估计你们都不会想到要提供一个private的default construction

哎,郁闷,老子又献出了一招绝学,不过,希望你们这些菜鸟能学到丁点就好了。


好菜
15 楼 Suxinf 2008-11-25  
当然用静态的好了
这就意味着告诉Java编译器,我这个方法不需要创建一个此类的对象即可使
14 楼 hkliya 2008-11-25  
效率很重要吧
当然是静态的效率高了
13 楼 zhajie 2008-11-25  
hyys2008 写道
一看都很菜,连该不该用utils类都不知道,javaeye上你们不是无数的人都在讨论设计模式,oo么?这种问题也出来了

老子通常情况想是不用utils的,这些菜鸟即便用utils类估计你们都不会想到要提供一个private的default construction

哎,郁闷,老子又献出了一招绝学,不过,希望你们这些菜鸟能学到丁点就好了。


不就是单例嘛,在工具类中使用单例不是最佳选择。个人认为单例的最佳场合是数据缓存。
12 楼 Scriptlet 2008-11-25  
楼上的,不用这么狂吧。
至于吗,不就是在utils类中使用singlton模式吗
11 楼 liu0013 2008-11-25  
hyys2008 写道
一看都很菜,连该不该用utils类都不知道,javaeye上你们不是无数的人都在讨论设计模式,oo么?这种问题也出来了

老子通常情况想是不用utils的,这些菜鸟即便用utils类估计你们都不会想到要提供一个private的default construction

哎,郁闷,老子又献出了一招绝学,不过,希望你们这些菜鸟能学到丁点就好了。


狂妄的人,说的具体些!对菜鸟也要有耐心!

通常情况想是不用utils?用什么?

提供一个private的default construction? 好处是什么?(避免什么。。。。)

知道是菜鸟还不说清楚!
10 楼 hyys2008 2008-11-24  
一看都很菜,连该不该用utils类都不知道,javaeye上你们不是无数的人都在讨论设计模式,oo么?这种问题也出来了

老子通常情况想是不用utils的,这些菜鸟即便用utils类估计你们都不会想到要提供一个private的default construction

哎,郁闷,老子又献出了一招绝学,不过,希望你们这些菜鸟能学到丁点就好了。
9 楼 hgalois 2008-11-24  
如果你的转换规则可能要变化
就先定义个接口
写个实现类注入进去比较好

如果转换规则变化不大的话,就用第二种方式
8 楼 yyjn12 2008-11-24  
zxbyhcsdn 写道
面向对象设计的一个原则,
针对可变性封装,
哪个工具类的那些方法,有什么可变的麻!!


个人认为这个是最佳答案.
7 楼 xixix2004 2008-11-24  
dennis_zane 写道
这种无状态,与业务逻辑关系不大的工具类当然静态方法最佳。


就是这个
6 楼 puroc 2008-11-21  
定义成静态方法好,如果使用第一种方案,那么如果有多个类都需要使用这个方法的话,那你就得把这个bean注入到很多其他的bean中。那样配置文件中会多谢很多内容。
5 楼 qingfengjushi1 2008-11-21  
dennis_zane 写道
这种无状态,与业务逻辑关系不大的工具类当然静态方法最佳。



 
4 楼 superxielei 2008-11-20  
public void execute(){  
        String money ="123456";  
        FormatterUtil.formatterString(money);  
    }  

还是静态比较好吧?
3 楼 laiseeme 2008-11-20  
这种还注入啥的 多此一举

相关推荐

    医院计算机网络系统设计方法探讨.docx

    针对这一问题,可在网络设计中采取如下方法:将接入与汇聚交换机中的STP(生成树)协议开启,设置为PVST模式,这样一来网络路径便只有一条,不会产生环路[4]。需要注意的是,上述方法只能够管理智能交换机。按照实际...

    深孔静态破碎混凝土的模型试验探讨

    为模拟综采面坚硬顶板弱化现象,在实验室预制了150 cm×30 cm×30 cm和200...通过对破裂过程的应变测试和理论分析,揭示了静态破碎混凝土时产生的破裂裂纹长度及扩展的规律,试验结果对工程设计和施工具有一定的指导意义。

    高职计算机专业PHP网站开发课程设计的探讨.doc

    appserv安装方法简单且自动配置参数,仅需将服务器设置为localhost( 本地服务器),便于在本台电脑上调试程序[2]。如果电脑安装的是windows2003这类网 络操作系统,那么在使用apache时将iis服务停止或更改端口,...

    网页源代码里面有静态网页的制作步骤

     当我们使用网页设计工具Dreamweaver 新建网页文档以后。  DOCTYPE是文档类型的简写,它定义当前文档的基本类型。即,所有的文件都需要用文档类型定义(DTD)。  其实DOCTYPE只是一组机器可读的规范,虽然中间包含...

    探入探讨BCM设计在汽车电子车身控制模块设计方案

    值得一提的是,汽车内的用电设备越来越多,如果电池直接供电的设备静态电流不够低,而汽车连续停泊较长时间,车内蓄电池可能因为过度放电而使汽车无法重新启动,故BCM设计需要考虑静态电流。此外,汽车应用中可能会...

    论文研究-考虑到达时间感知价值的静态网络均衡模型.pdf

    在此基础上假设累积感知价值是由出行收益、出行负效用和到达时间感知价值三部分构成, 构建了一个基于累积感知价值的静态网络均衡模型, 探讨了均衡解的存在性和唯一性并设计了求解算法. 最后, 通过两个数值算例分析...

    python爬虫,爬取多个页面数据,爬取某静态网页信息并保存文件

    2.1 利用所学知识爬取某静态网页信息并保存文件。 3 课程设计过程与内容(字体字号为四号宋体) "3.1"资料收集与文献调研", "3.2": "理论学习与原理探讨", "3.3": "系统设计与模块划分", "3.4": "编码实现与调试...

    多媒体数据库管理系统探讨(1).doc

    多媒体数据库管理系统探讨 在关系型数据库管理系统基础之上,设计了对象- 关系型数据库管理系统,对常见多媒体数据库包括图形、图像和音频信息进行了管理。 系统具有对多媒体数据进行存储、操作(处理)、查询、显示...

    车辆减振橡胶材料的本构模型建模方法

    关于橡胶减振器的非线性力学行为和特性研究...针对这一现状,研究了基于唯象理论等基本理论,对静态和动态环境下,减振橡胶材料的本构模型建立方法也进行了探讨,获得了常用车辆减振橡胶材料的材料系数更详细的物理意义。

    基于UML的面向对象的医院信息系统设计方法研究

    文章探讨了基于UML进行面向对象的医院信息系统的分析及设计方法。通过系统静态建模和动态建模过程,最后实现医院信息系统的代码实现。

    掘进机破岩产尘机理及影响因素分析探讨

    着重研究了切削厚度对切削破岩产尘及能耗的影响,结果表明:切削厚度产尘量和切削比能耗的影响规律非常相似,随着切削厚度的增大,产尘量和切削比能耗都以幂函数减小,最后对截割厚度的合理值进行了初步的探讨。...

    大型箕斗斗箱侧壁静态压力与动态压力的分析研究

    针对箕斗装载完成后以及它们之间前后箕斗箱侧壁静态压力进行计算分析,对箕斗卸载物料过程中箕斗箱侧壁受到的动态压力的计算分析变化趋势进行探讨,为日后大型箕斗设计更合理的结构提供必要的理论依据。

    探讨智能光网络的城域网设计

    随着计算机及网络技术的发展,数据业务的快速增长,传统以话音为主的静态网络不能适应其增长需要,正在发展为动态网络发展。正是在这种意义上,智能光网络使传输应运而生,它与交换相结合,做到了对传输资源的灵活运用。...

    高级ASIC芯片综合

    《高级ASIC芯片综合》(第2版)(翻译版)描述了使用Synopsys工具进行ASIC芯片综合、物理综合、形式验证和静态时序分析的最新概念和技术,同时针对VDSM(超深亚微米)工艺的完整ASIC设计流程的设计方法进行了深入的探讨...

    燃料电池输出匹配网络设计方法 (2011年)

    论文着眼于燃料电池输出匹配...根据这一思路,从动态和静态特性要求出发探讨了匹配网络的综合设计,并给出了四种结构和几种控制方法。最后,采用30 kW燃料电池发电装置的设计和试验,验证了文中所提出的理论和设计方法。

    由()引力产生的非静态量子启发性时空:引力的彩虹

    在本说明中,我们在f(R)引力的背景下探索了量子态中的非静态时空。 在与能量有关的引力彩虹中研究了时间依赖的Vaidya度量,该辐射表示恒星像辐射体的时空,这是广义相对论的UV补全。 在我们的探索中,我们使用了...

    基于路径线法的泡沫材料冲击特性探讨

    将泡沫材料动态特性的数值模拟结合...用该方法获得泡沫材料不同于其准静态条件下的高应变率动态响应曲线,证明泡沫材料是一种应变率敏感的材料。该研究结论对采用路径线法研究泡沫材料的动态响应具有重要的指导意义。

    隐身飞机静态散射特性的仿真分析。

    隐身飞机静态散射特性的仿真分析。

    静态项目首页定制12306.zip

    我购买了大量的专业书籍和在线课程,涵盖了各个学科领域,如编程、设计、心理学等。这些书籍和课程帮助我建立了坚实的知识基础,并提供了丰富的学习材料和实践经验。 其次,我积极参与在线社区和论坛,与志同道合的...

Global site tag (gtag.js) - Google Analytics