发布网友 发布时间:2022-04-24 01:44
共1个回答
热心网友 时间:2022-04-22 16:54
例模式可以说是GOF设计模式中最为简单的模式,也是背负骂名最多的模式。不过一直以来,我对许多类似关于它是最烂和反模式的评价却不尽以为然。 模式本身很简单,除了牵涉多线程安全问题引起的一点罗唆外。所以,我不太想讨论GOF提供的关于该模式的参考实现。我所关注的是它背后带来的对问题的看法和思考方式。 我们先看看单例模式出现的背景很存在的意义。单例模式通俗来讲就是确保类只有一个实例。那么好,我们问一下,为什么要确保类只有一个实例呢?其实无非是两个方面的作用:一、想控制资源的使用,它又体现在两个方面,其中之一是控制实例数目的产生来节约资源,其二通过线程同步控制资源的并发访问;二、想作为一种通信媒介,在不建立直接关联的条件下让不相关的两个程序进行通信,尤其是多线程。第二点,我说的有些抽象,简单讲吧,就类似于大家基于一个黑板讨论东西,而不关心参与讨论的对象。单例就取了黑板的作用。