`
jason_tong
  • 浏览: 3971 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

java设计模式学习 --【1】单例模式

阅读更多
单例模式(懒汉模式,饿汉模式,注册模式)
注明:该文章是阎宏博士的《Java与模式》一书的第十五章部分内容

       单例模式的要点有三个;
       一是某个类只能有一个实例;
      二是它必须自行创建这个事例;
      三是它必须自行向整个系统提供这个实例。


     一些资源管理器常常设计成单例模式。

       在计算机系统中,需要管理的资源包括软件外部资源,譬如每台计算机可以有若干个打印机,但只能有一个Printer Spooler, 以避免两个打印作业同时输出到打印机中。每台计算机可以有若干传真卡,但是只应该有一个软件负责管理传真卡,以避免出现两份传真作业同时传到传真卡中的情 况。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同时被两个请求同时调用。

       需要管理的资源包括软件内部资源,譬如,大多数的软件都有一个(甚至多个)属性(properties)文件存放系统配置。这样的系统应当由一个对象来管理一个属性文件。

      需要管理的软件内部资源也包括譬如负责记录网站来访人数的部件,记录软件系统内部事件、出错信息的部件,或是对系统的表现进行检查的部件等。这些部件都必须集中管理。

这些资源管理器构件必须只有一个实例,这是其一;它们必须自行初始化,这是其二;允许整个系统访问自己这是其三。因此,它们都满足单例模式的条件,是单例模式的应用。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics