了解下JAVA的Java形式计划之单例形式(一)
令人可喜的是java现在已经开源了,所以我想我上述的想法也许有一天会实现,因为java一直都是不断创新的语言,每次创新都会给我们惊喜,这也是我喜欢java的一个原因。作为对象的创立形式,单例形式确保某一个类只要一个实例,并且自行实例化并向全部体系供应这个实例。这个类称为单例类。
注:本文乃阎宏博士的《Java与形式》一书的第十五章。
弁言
单例形式的要点
单例单例
明显单例形式的要点有三个;一是某各种只能有一个实例;二是它必需自行创立这个事例;三是它必需自行向全部体系供应这个实例。鄙人面的对象图中,有一个"单例对象",而"客户甲"、"客户乙"和"客户丙"是单例对象的三个客户对象。能够看到,一切的客户对象共享一个单例对象。并且从单例对象到本身的毗连线能够看出,单例对象持有对本人的援用。
<br>
资本办理
一些资本办理器经常计划成单例形式。
在盘算机体系中,必要办理的资本包含软件内部资本,比如每台盘算机能够有多少个打印机,但只能有一个PrinterSpooler,以免两个打印功课同时输入到打印机中。每台盘算机能够有多少传真卡,可是只应当有一个软件卖力办理传真卡,以免呈现两份传真功课同时传到传真卡中的情形。每台盘算机能够有多少通讯端口,体系应该会合办理这些通讯端口,以免一个通讯端口同时被两个哀求同时挪用。
必要办理的资本包含软件外部资本,比如,年夜多半的软件都有一个(乃至多个)属性(properties)文件寄存体系设置。如许的体系应该由一个对象来办理一个属性文件。
必要办理的软件外部资本也包含比如卖力纪录网站来访人数的部件,纪录软件体系外部事务、堕落信息的部件,或是对体系的体现举行反省的部件等。这些部件都必需会合办理,不成政出多头。
这些资本办理器构件必需只要一个实例,这是其一;它们必需自行初始化,这是其二;同意全部体系会见本人这是其三。因而,它们都满意单例形式的前提,是单例形式的使用。
一个例子:Windows接纳站
Windows9x今后的视窗体系中都有一个接纳站,下图就显现了Windows2000的接纳站。
<br>
在全部视窗体系中,接纳站只能有一个实例,全部体系都利用这个唯一的实例,并且接纳站自行供应本人的实例。因而,接纳站是单例形式的使用。
<p>
Java到底会发战成什么样,让我们拭目以待吧,我始终坚信着java会更好。以上都是俺个人看法,欢迎大家一起交流. 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 Java是一种计算机编程语言,拥有跨平台、面向对java 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
页:
[1]