Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·Tomcat5.5.9的安装配置
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·hibernate配置笔记
·构建Linux下IDE环境--Eclipse篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·AOP编程入门--Java篇
·创建文件夹和文件的java代码范例
·Java常见面试题(含答案)
·Java编写的计算器程序及源代码

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
设计模式-单例(singleton)模式简说

作者:未知 来源:月光软件站 加入时间:2005-6-5 月光软件站

设计模式,单元测试,重构是今天的程序员必须掌握的程序设计技术.

设计模式的书都太厚了,看一遍都累个半死,所以我有了这个想法,用最简单的语言和最简单的代码来说明设计模式.

案例描述:

    街头 银行取款机一次只可以一个人,用一张卡站它前面提款.

程序:

/*
 *  银行提款机 ATM         
 */
package com.singleton;
public class ATMCash {
 private static ATMCash instance; 
 private String creditCard;
 
 private ATMCash() {  
 }
 
 /**
  * 保证只有一个人一张卡在使用提款机 
  */
 public static synchronized ATMCash getInstance() {
  if (instance == null)
   instance = new ATMCash();
  return instance;
 }

 public String getMoney() {
  return creditCard;
 }
 
 //插入ATM磁卡
 public void setCard(String card) {
  creditCard = card;
 }
 
 //取出ATM磁卡
 public void getCard() {
  creditCard = null;
 }

}

/*
 * 提款
 */
package com.singleton;
public class Singleton {

 public static void main(String[] args) {
  
  //------------下面是我的取款过程--------------
  ATMCash myCash = ATMCash.getInstance();  //来一个人取款
  myCash.setCard("我的银行卡");//插入磁卡
  System.out.println("我取钱用的是  :" +myCash.getMoney()); //取款
  //myCash.getCard(); //取回磁卡
  
  
  //------------下面是你取款过程----------------
  ATMCash yourCash = ATMCash.getInstance(); //来一个人取款
  System.out.println("你取钱用的是  :" + yourCash.getMoney()); //取款
 }
}

说明:

 如果我没有取回磁卡,那么无论多少人使用这个提款机,他使用的都将是我的银行卡,程序的输出为:

    我取钱用的是  :我的银行卡
    你取钱用的是  :我的银行卡




相关文章

相关软件




月光软件程序下载编程文档电脑教程网站设计网址导航网络文学游戏天地幽默笑话生活休闲写作范文安妮宝贝
电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

月光软件站·版权所有