Java技术_每天掌握一种设计模式(002)_使用场景及简单实例(创建型:单例模式)

Java技术_每天掌握一种设计模式(001)_设计模式概念及分类

Java技术_每天掌握一种设计模式(002)_使用场景及简单实例(创建型:单例模式)

Java技术_每天掌握一种设计模式(003)_使用场景及简单实例(创建型:工厂方法)

Java技术_每天掌握一种设计模式(004)_使用场景及简单实例(创建型:抽象工厂)

Java技术_每天掌握一种设计模式(005)_使用场景及简单实例(创建型:建造模式)

Java技术_每天掌握一种设计模式(006)_使用场景及简单实例(创建型:原型模式)

1.模式描述

一个类有且仅有一个实例,并且自行实例化并向整个系统提供。

2.模式作用

保证某个类在系统中只有一个实例对象,对于特殊需求来说非常必要。
限制了实例个数有利于GC的回收。

等等。//TODO

3.适用场景

一个类有且只能有一个实例的时候。

等等。//TODO

例如:网站计数器、windows系统的任务管理器

4.模式要素

该类只能有一个实例。该类提供一个该类的私有静态对象。
该类自行创建这个实例该类只提供私有构造方法。
该类自行对外提供这个实例。该类提供公用方法来创建或获取这个私有静态对象。

5.类图

6.模式实例代码

单例:

[java] view plain copy

  1. package com.demoFound.singleton;  
  2.   
  3. /** 
  4.  * 单例模式 
  5.  *  
  6.  * @author popkidorc 
  7.  *  
  8.  */  
  9. public class MySingleton {  
  10.   
  11.     // 私有静态实例  
  12.     private static MySingleton newInstance = null;  
  13.   
  14.     // 私有构造方法  
  15.     private MySingleton() {  
  16.     }  
  17.   
  18.     // 对外的公用访问点,用来创建或获取实例  
  19.     public static synchronized MySingleton getInstance() {  
  20.         if (newInstance == null) {  
  21.             newInstance = new MySingleton();  
  22.         }  
  23.         return newInstance;  
  24.     }  
  25. }  

消费者:

[java] view plain copy

  1. /** 
  2.  * 单例模式_消费者类 
  3.  *  
  4.  * @author popkidorc 
  5.  *  
  6.  */  
  7. public class MySingletonMain {  
  8.   
  9.     public static void main(String[] args) {  
  10.         System.out.println("1." + MySingleton.getInstance());  
  11.         System.out.println("2." + MySingleton.getInstance());  
  12.         System.out.println("3." + MySingleton.getInstance());// 均是同一个对象,在同一个内存中  
  13.     }  
  14. }  

原文地址:http://blog.csdn.net/ooppookid/article/details/42556577

时间: 2024-11-03 09:05:10

Java技术_每天掌握一种设计模式(002)_使用场景及简单实例(创建型:单例模式)的相关文章

Java技术_每天掌握一种设计模式(003)_使用场景及简单实例(创建型:工厂方法)

Java技术_每天掌握一种设计模式(001)_设计模式概念及分类 Java技术_每天掌握一种设计模式(002)_使用场景及简单实例(创建型:单例模式) Java技术_每天掌握一种设计模式(003)_使用场景及简单实例(创建型:工厂方法) Java技术_每天掌握一种设计模式(004)_使用场景及简单实例(创建型:抽象工厂) Java技术_每天掌握一种设计模式(005)_使用场景及简单实例(创建型:建造模式) Java技术_每天掌握一种设计模式(006)_使用场景及简单实例(创建型:原型模式) 1.

Java技术_每天掌握一种设计模式(004)_使用场景及简单实例(创建型:抽象工厂)

Java技术_每天掌握一种设计模式(001)_设计模式概念及分类 Java技术_每天掌握一种设计模式(002)_使用场景及简单实例(创建型:单例模式) Java技术_每天掌握一种设计模式(003)_使用场景及简单实例(创建型:工厂方法) Java技术_每天掌握一种设计模式(004)_使用场景及简单实例(创建型:抽象工厂) Java技术_每天掌握一种设计模式(005)_使用场景及简单实例(创建型:建造模式) Java技术_每天掌握一种设计模式(006)_使用场景及简单实例(创建型:原型模式) 1.

Java技术_每天掌握一种设计模式(001)_设计模式概念及分类

Java技术_每天掌握一种设计模式(001)_设计模式概念及分类 Java技术_每天掌握一种设计模式(002)_使用场景及简单实例(创建型:单例模式) Java技术_每天掌握一种设计模式(003)_使用场景及简单实例(创建型:工厂方法) Java技术_每天掌握一种设计模式(004)_使用场景及简单实例(创建型:抽象工厂) Java技术_每天掌握一种设计模式(005)_使用场景及简单实例(创建型:建造模式) Java技术_每天掌握一种设计模式(006)_使用场景及简单实例(创建型:原型模式) 1.

设计模式(四)原型模式Prototype(创建型)

设计模式(四)原型模式Prototype  1.   概述 我们都知道,创建型模式一般是用来创建一个新的对象,然后我们使用这个对象完成一些对象的操作,我们通过原型模式可以快速的创建一个对象而不需要提供专门的new()操作就可以快速完成对象的创建,这无疑是一种非常有效的方式,快速的创建一个新的对象. 例子1:孙悟空拔下一嘬猴毛,轻轻一吹就会变出好多的孙悟空来. 例子2:寄个快递下面是一个邮寄快递的场景:"给我寄个快递."顾客说."寄往什么地方?寄给--?"你问.&qu

设计模式(二)单件模式Singleton(创建型)

SINGLETON(单件)-对象创建型模式        几乎所有面向对象的程序中,总有一些类的对象需要是唯一的,例如,通过数据库句柄到数据库的连接是独占的.您希望在应用程序中共享数据库句柄,因为在保持连接打开或关闭时,它是一种开销.再如大家最经常用的IM,如QQ,在同一台电脑,一个帐号只能有唯一的登录. 1. 问题 怎样确保一个特殊类的实例是独一无二的(它是这个类的唯一实例),并且这个实例易于被访问呢? 2. 解决方案 1)全局变量:一个全局变量使得一个对象可以被访问,但它不能防止你实例化多个

设计模式(三)建造者模式Builder(创建型)

设计模式(三)建造者模Builder(http://blog.csdn.net/hguisu/article/details/7518060) 1. 概述        在软件开发的过程中,当遇到一个"复杂的对象"的创建工作,该对象由一定各个部分的子对象用一定的算法构成,由于需求的变化,复杂对象的各个部分经常面临剧烈的变化,但将它们组合在一起的算法相对稳定.        例子1:买肯德基        典型的儿童餐包括一个主食,一个辅食,一杯饮料和一个玩具(例如汉堡.炸鸡.可乐和玩具

Java技术_每天掌握一种设计模式(006)_使用场景及简单实例(创建型:原型模式)

1.模式描述 用原型实例指定创建对象的种类,并且通过拷贝来创建新的对象. 2.模式作用 可以一定程度上解耦,消费者和对象的构造过程隔离开,对象如何构造与消费者完全无关. 可以一定程度提升效率,复杂对象的构造往往需要较长的时间(中间可能会进行复杂运算或者数据库交互),clone消耗的资源一般情况下会少很多. 可以一定程度增加代码的封装性,避免复杂的构造过程. 等等.//TODO 3.适用场景 需要创建一个复杂的.构造耗时很多的对象,且已有一个同类对象的时候. 消费者不关心对象构造过程的时候. 等等

设计模式(一)工厂模式Factory(创建型)

设计模式一 工厂模式Factory          在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的.但是在一些情况下, new操作符直接生成对象会带来一些问题.举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须先生成一些辅助功能的对象. 在这些情况,新对象的建立就是一个 "过程",不仅是一个操作,像一部大机器中的一个齿轮传动. 模式的问题

Java经典设计模式之五大创建型模式(附实例和详解)

版权声明:本文为博主原创文章,转载注明出处http://blog.csdn.net/u013142781 目录(?)[+] 一.概况 总体来说设计模式分为三大类: (1)创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. (2)结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模式.享元模式. (3)行为型模式,共十一种:策略模式.模板方法模式.观察者模式.迭代子模式.责任链模式.命令模式.备忘录模式.状态模式.访问者模式.中介者模式.解