Sunday, March 26, 2006

Singleton Design Pattern

รูปแบบการเขียนโปรแกรม ก็เป็นเงื่อนไขในการแก้ปัญหาซ้ำซากได้ครับ การเลือกใช้ design pattern ให้เหมาะกับความต้องการก็จะลดเวลาในการมาปวดหัวกับปัญหาจุกจิกได้พอสมควร Singleton คือรูปแบบที่ใช้กับ class หรือ object ที่เราต้องการให้มันเกิดมาเพียง 1 instance เท่านั้น (อย่างเช่น database connection) เมื่อเรียกใช้งานมัน ก็จะเรียกใช้งานจาก instance เดิมๆ ดูตัวอย่างเลย

public class MySingleton {
private static final MySingleton INSTANCE = new MySingleton();
private MySingleton() { }
public static final MySingleton getInstance() { return INSTANCE; } }

/** * Ensure Singleton class */
private Object readResolve() throws ObjectStreamException { return INSTANCE; }


เวลาจะสร้าง instance ต้องสร้างผ่าน getInstance() เช่นMySingleton s = MySingleton.getInstance();
** ไม่ต้องมี new เพราะ getInstance() เป็น static mehod **

No comments: