Java, C#, JavaScript三种语言实现单例模式
2012-10-24 17:28
501 查看
无论任何一门语言,模式的思想都一样,不一样的就是语言的细节。
Java版:
Java版:
public class Singleton { private volatile static Singleton instance; private Singleton(){}; public static Singleton getInstance() { if(instance == null){ synchronized (Singleton.class) { if(instance == null){ instance = new Singleton(); } } } return instance; } }C#版:
public class Singleton { protected Singleton() { } private static volatile Singleton instance = null; /// Lazy方式创建唯一实例的过程 public static Singleton Instance() { if (instance == null) // 外层if lock (typeof(Singleton)) // 多线程中共享资源同步 if (instance == null) // 内层if instance = new Singleton(); return instance; } }JS版:
var singletonTest=(function(){ function single(args){ var args=args || []; this.name='singletontest'; this.x=args.x || 6; this.y=args.y || 7; }; var instance; var _static={ name:'singletontest', getInstance:function(args){ if( instance === undefined) { instance = new single(args); } return instance; } }; return -static; })(); //调用 var singletonTest = SingletonTester.getInstance({ pointX: 5 });
相关文章推荐
- Java, C#, JavaScript三种语言实现工厂模式
- Java 语言使用 Observer/Observable 实现简单的观察者模式
- Python Java Javascript三种语言的不同之字符串
- 冒泡排序算法的C++,Java和Python实现和冒泡排序算法三种语言效率的比较
- AES加密php,java,.net三种语言同步实现加密、解密
- C#, Java, PHP, Python和Javascript几种语言的AES加密解密实现[转载]
- java语言实现结构型设计模式—适配器模式
- Java基于解释器模式实现定义一种简单的语言功能示例
- 设计模式之适配器模式(三种实现) JAVA
- 大白话讲解设计模式之:代理模式 Java语言实现
- 码农成长计-观察者模式详解(java语言实现)
- Java语言实现的装饰设计模式复习
- Java语言实现的单例设计模式复习
- javascript中模拟实现java语言中的map
- 单例模式的三种实现 (Java)
- 设计模式之单例模式java语言的实现
- 专业语言:实现Java平台的三种方式
- C#, Java, PHP, Python和Javascript几种语言的AES加密解密实现
- 专业语言:实现Java平台的三种方式
- 单例模式三种实现----饿汉式 饱汉式(懒汉式) 双重锁模式--------(java复习)