JavaQ&A:使用Singleton模式?给我一个理由先!(转)

Java Q&A: 使用Singleton模式?给我一个理由先! (转)[@more@]

Java Q&A: 使用Singleton模式?给我一个理由先!

Q: 在很多地方我都看到使用了Singleton类。我的问题是:较之一个包含static方法(methds)的类,使用Singleton具有什么优点呢?

A: 不使用包含static方法的类而使用Singleton,其区别在于,后者可以带来有效的面向对象设计。Singleton通常展示的是一种更清晰的方法。而一个包含static方法的类只不过是函数或公用子程序(utilities)的简单罗列。

你会问,罗列一组函数有什么问题?

很简单。罗列函数,你就不是在进行面向对象编程;你的工作实际上倒退到了传统的面向过程的程序设计中。悄然之间,对象不再是程序的焦点,而你自己也陷入到以数据为中心的程序设计模式中。换句话说,你不再是向包装了状态和行为的对象发送消息,而是针对数据进行函数调用。公用子程序必然造成行为和数据完全分离,而这一点在面向对象设计中是绝不允许的。

也不是说完全不能使用公用子程序。面向对象的公用子程序确实存在。有时也需要将对象当作数据来处理。例如,我曾写了一套公共子程序,用来将Java对象转换成相应的Corba形式。很难将那些方法写成一个类,因为它们确实没有状态信息;我也不想将转换代码嵌入到Java类中。然而,这确实容易带来混乱。

对于系统中的某个类,如果想让它无论什么时候只有一个实例存在,这种情况下可以使用Singleton。例如有这样一个类,它提供对CORBA server的访问,还要做到负载平衡。这时候就不要使用多个这样的对象,因为每个对象都会和相同的server打交道。占用冗余资源当然浪费。所以,对server的访问最好集中到一个实例之中。

创新互联公司-专业网站定制、快速模板网站建设、高性价比临渭区网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式临渭区网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖临渭区地区。费用合理售后完善,10年实体公司更值得信赖。


本文标题:JavaQ&A:使用Singleton模式?给我一个理由先!(转)
文章分享:https://www.cdcxhl.com/article4/geopie.html

成都网站建设公司_创新互联,为您提供营销型网站建设云服务器商城网站微信小程序定制网站网站策划

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设