单态设计模式

简介:

 

package com.yanek.test;

public interface UserManager {

 public abstract void addUser();

}

 

 

 

package com.yanek.test;

public class UserManagerImpl implements UserManager {

 public void addUser() {

  
  System.out.println("hello world!");
  
 }

}

 

 

package com.yanek.test;

public class UserManagerFactory {
 

 private static UserManager userManager;

 private UserManagerFactory()
 {
 }

 public synchronized static UserManager getInstance()
 {
  if (!initialized)
   doInitialize();
  return userManager;
 }

 private static boolean initialized = false;

 private static synchronized void doInitialize()
 {
  if (!initialized)
  {
   userManager = new UserManagerImpl();
   initialized = true;
  }
 } 
 

 /**
  * @param args
  */
 public static void main(String[] args) {
  
  
  UserManager um1=UserManagerFactory.getInstance();
  
  UserManager um2=UserManagerFactory.getInstance();
  
  UserManager um3=UserManagerFactory.getInstance();
  
  System.out.println("um1="+um1);
  System.out.println("um2="+um2);
  System.out.println("um3="+um3);
  
  um1.addUser();
  um2.addUser();
  um3.addUser();
  

  
 }

}

 

 

 

目录
相关文章
|
7月前
|
设计模式 算法 Java
C++设计模式
C++设计模式
43 0
|
2月前
|
设计模式 安全 Java
24种设计模式详解(下)
24种设计模式详解(下)
35 0
|
7月前
|
设计模式 缓存 算法
设计模式
设计模式
41 0
|
设计模式 程序员
设计模式 | 模版方法
设计模式 | 模版方法
82 0
|
7月前
|
设计模式 Java 测试技术
设计模式之-降龙十八掌
设计模式之-降龙十八掌
62 0
|
7月前
|
设计模式 消息中间件 Kubernetes
设计模式总结(二)
设计模式总结(二)
|
7月前
|
设计模式 自动驾驶 NoSQL
设计模式总结(一)
设计模式总结(一)
|
7月前
|
设计模式 Java C#
C#设计模式——上
C#设计模式——上
|
设计模式 安全
设计模式介绍
设计模式介绍
51 0
|
设计模式 算法 程序员
【3W2H设计模式】什么是设计模式
【3W2H设计模式】什么是设计模式
270 0