|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
令人可喜的是java现在已经开源了,所以我想我上述的想法也许有一天会实现,因为java一直都是不断创新的语言,每次创新都会给我们惊喜,这也是我喜欢java的一个原因。
作为对象的创立形式[GOF95],单例形式确保某一个类只要一个实例,并且自行实例化并向全部体系供应这个实例。这个类称为单例类。
注:本文乃阎宏博士的《Java与形式》一书的第十五章。
弁言
单例形式的要点
单例单例
明显单例形式的要点有三个;一是某各种只能有一个实例;二是它必需自行创立这个事例;三是它必需自行向全部体系供应这个实例。鄙人面的对象图中,有一个"单例对象",而"客户甲"、"客户乙"和"客户丙"是单例对象的三个客户对象。能够看到,一切的客户对象共享一个单例对象。并且从单例对象到本身的毗连线能够看出,单例对象持有对本人的援用。
<br>
资本办理
一些资本办理器经常计划成单例形式。
在盘算机体系中,必要办理的资本包含软件内部资本,比如每台盘算机能够有多少个打印机,但只能有一个PrinterSpooler,以免两个打印功课同时输入到打印机中。每台盘算机能够有多少传真卡,可是只应当有一个软件卖力办理传真卡,以免呈现两份传真功课同时传到传真卡中的情形。每台盘算机能够有多少通讯端口,体系应该会合办理这些通讯端口,以免一个通讯端口同时被两个哀求同时挪用。
必要办理的资本包含软件外部资本,比如,年夜多半的软件都有一个(乃至多个)属性(properties)文件寄存体系设置。如许的体系应该由一个对象来办理一个属性文件。
必要办理的软件外部资本也包含比如卖力纪录网站来访人数的部件,纪录软件体系外部事务、堕落信息的部件,或是对体系的体现举行反省的部件等。这些部件都必需会合办理,不成政出多头。
这些资本办理器构件必需只要一个实例,这是其一;它们必需自行初始化,这是其二;同意全部体系会见本人这是其三。因而,它们都满意单例形式的前提,是单例形式的使用。
一个例子:Windows接纳站
Windows9x今后的视窗体系中都有一个接纳站,下图就显现了Windows2000的接纳站。
<br>
在全部视窗体系中,接纳站只能有一个实例,全部体系都利用这个唯一的实例,并且接纳站自行供应本人的实例。因而,接纳站是单例形式的使用。
<p>
Java到底会发战成什么样,让我们拭目以待吧,我始终坚信着java会更好。以上都是俺个人看法,欢迎大家一起交流. |
|