DesignPatterns에서 CreationalPatterns의 하나.

인스턴스가 1개만 존재하는것을 보증하는 패턴. 그 하나뿐인 인스턴스를 얻기위한 static메쏘드가 필요하다.

Structure

Example

   1 /**
   2  * SingletonPattern Example
   3  */
   4 
   5 class Singleton {
   6     private static Singleton singleton = new Singleton();
   7     private Singleton() {
   8         System.out.println("Instance are made");
   9     }
  10     public static Singleton getInstance() {
  11         return singleton;
  12     }
  13 }
  14 
  15 public class SingletonEx {
  16     public static void main(String[] args) {
  17         System.out.println("Start.");
  18         Singleton obj1 = Singleton.getInstance();
  19         Singleton obj2 = Singleton.getInstance();
  20         if(obj1 == obj2) {
  21             System.out.println("obj1 == obj2");
  22         } else {
  23             System.out.println("obj1 != obj2");
  24         }
  25         System.out.println("End.");
  26     }
  27 }

관련정보

SingletonPattern


Python 딕셔너리로 만드는 다중 싱글톤패턴. (유용히쓰인다.)

   1 db = {}
   2 def getDbConnection(aDir):
   3     global db
   4     if db.has_key(aDir):
   5         return db[aDir]
   6     db[aDir] = BacDb(aDir)
   7     return db[aDir]


CategoryPattern

SingletonPattern (last edited 2012-10-08 16:20:03 by 61)

web biohackers.net