`
biqing0427
  • 浏览: 57303 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

我工作的那点事--学习《设计模式》实例应用(Singleton模式)

阅读更多
   今天早上开会,要打印一堆文件(先打印出来 然后再复印(Memento)),整个公司就一个打印机,由于前面有位同事也在打印东西,没有办法只好等他用完了,心里那个急啊,公司怎么不多配几台打印机呢?

   公司为了节约资源,对于打印机用了Singleton模式,反正所有的文件打印只能在一台机器上。

对于Singleton的定义如下:
主要为了在整个java工程调用中只用到一个实例,这样节约了内存的消耗(只有一台打印机),如果同时使用,只有等待。但是可以避免启用多个实例,消耗不必要的资源。

public class Printer{

  private Printer(){}

  private static Printer instance = new Printer();

  //这里提供了一个外部调用打印机的方法  
  public static PrintergetInstance() {
    return instance;   
   }
}


这里是将打印先开下来,然后你可以直接调用。

但是这样好像有点浪费哦,你想想打印机一直开着多浪费,还不如有人用时再打开呢,看看多节约。

public class Printer{

  private Printer(){}

  private static Printer instance = null;

  //这里提供了一个外部调用打印机的方法  
  public static Printer getInstance() {
if(instance==null)//检查一下 是否开了。
instance = new Printer();
 return instance;   
   }
}



为了防止同步时的情况,大家可以查考 http://www-106.ibm.com/developerworks/java/library/j-dcl.html?dwzone=java

public class Printer{
  private Printer(){}
  private static Printer instance = null;

  //这里提供了一个外部调用打印机的方法  
  public static synchronized Printer getInstance() {
if(instance==null)//检查一下 是否开了。
instance = new Printer();
 return instance;   
   } 
分享到:
评论

相关推荐

    大话设计模式--Singleton(单例模式)

    单例模式是软件设计模式中的一种经典模式,它在许多场景下被广泛使用,尤其是在需要全局唯一实例的情况下。本文将深入探讨单例模式的概念、作用、实现方式以及其在实际编程中的应用。 单例模式的核心思想是确保一个...

    设计模式精解-GoF 23种设计模式解析附C++.pdf

    设计模式的学习不仅是为了记住每种模式的应用场景,更重要的是理解其背后的原理和设计理念。通过深入学习和实践,开发者可以逐渐掌握这些模式,并将其内化为自己的设计思维。设计模式的学习过程虽然漫长且充满挑战,...

    设计模式精解-GoF-23种设计模式解析--附C++源代码

    C++源代码文件可以帮助你更好地理解如何在实际项目中应用这些模式,通过阅读和分析代码,你可以学习如何在C++中实现这些设计模式,并将它们融入到自己的编程实践中。 总而言之,设计模式是软件开发中的宝贵财富,...

    设计模式精解-GoF 23种设计模式解析附C++实现源码.pdf

    ### 设计模式精解——GoF 23种设计模式解析及C++实现源码 #### 0. 引言 设计模式是软件工程领域的一个重要概念,它提供了一种解决常见问题的方法论。GoF(Gang of Four)所提出的23种设计模式被视为面向对象设计的...

    设计模式精解-GoF 23种设计模式解析附C++实现源码

    通过学习和掌握GoF的23种设计模式,可以显著提高程序员的编码水平,使得开发出的软件系统更加健壮、可扩展、易维护。以上每种模式都有其特定的应用场景,理解和掌握它们的关键在于不断实践和总结,在实际项目中灵活...

    Java常用设计模式(SingleTon、FactoryMethod、AbstractFactory)

    Java设计模式是面向对象编程...在阅读《Chapter1___Java常用设计模式(SingleTon、FactoryMethod、AbstractFactory)》的相关资料时,你可以更深入地学习这些模式的细节,包括适用场景、优缺点以及如何在实际项目中实现。

    设计模式精解-GoF 23 种设计模式解析附 C++实现源码

    - **4.4 为什么使用设计模式——从Singleton模式谈起**:通过分析Singleton模式的特点和应用场景,探讨了设计模式的重要性和实用性。 #### 5. 总结 通过本文的学习,我们可以看到设计模式不仅是一种工具,更是一种...

    设计模式精解-GoF23种设计模式解析附C++实现源码

    C++实现源码提供了具体编程环境下的应用实例,帮助读者更好地理解和应用这些设计模式。通过阅读和实践这些源码,开发者可以更深入地掌握如何在实际项目中灵活运用设计模式,提升代码质量和可维护性。

    设计模式那点事

    《设计模式那点事》这本书的PPT为我们提供了一种深入理解和学习设计模式的途径。在这里,我们将深入探讨设计模式的核心概念、分类以及它们在实际开发中的应用。 首先,设计模式基于面向对象编程思想,其核心目标是...

    最简单的设计模式学习Singleton模式

    ### 最简单的设计模式学习:Singleton模式 #### 一、Singleton模式简介 Singleton(单例)模式是一种常用的软件设计模式,其主要目的是确保一个类只有一个实例,并提供一个全局访问点。这种模式在许多场合下非常...

    设计模式精解-GoF 23种设计模式解析

    设计模式的学习和应用分为几个阶段:首先自己学会设计模式,然后将其转化为自己的语言表达出来,接着是教授他人并最终记录下来。这种学习路径要求学习者不仅要理解设计模式本身,还要具备清晰的表达能力和深刻的理解...

    Laravel开发-singleton-pattern

    在Laravel框架中,设计模式的应用是提升代码质量和可维护性的重要手段之一,而Singleton(单例模式)是其中一种常见的模式。Singleton确保一个类只有一个实例,并提供一个全局访问点,这样可以避免创建多个对象导致...

    设计模式实例代码

    在本案例中,我们聚焦于C#语言中的设计模式,通过"设计模式实例代码"这个项目,我们可以深入理解并学习这些模式的实际应用。 "设计模式"标签表明了这个压缩包的内容主要围绕设计模式展开,涵盖了面向对象设计的核心...

    C#面向对象设计模式纵横谈-1.Singleton 单件(创建型模式)

    Singleton模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来获取这个唯一的实例。这种模式在需要控制资源的唯一性或者全局访问点时非常有用,比如数据库连接、线程池或者缓存管理等。 ...

    24种设计模式以及混合设计模式

    通过学习和应用这些设计模式,开发者不仅可以提高代码的可读性、可维护性和可扩展性,还能提升团队间的沟通效率,因为设计模式是软件工程中的通用语言。对于任何有志于提升软件开发水平的人来说,理解和掌握设计模式...

Global site tag (gtag.js) - Google Analytics