อย่างที่เรารู้ กันว่า การสร้าง instance ของ class ต่างๆ ในภาษา Java นั้น  จะต้องมีการเรียก constructor ด้วย  ปกติเราจึงมักจะประกาศ constructor ให้เป็น public หรือ defalut ไว้ 

     แต่มี รูปแบบการออกแบบ อย่างหนึ่งที่เรียกว่า Singleton Pattern  ที่เราจะประกาศ constructor ของ class เป็น private.   Singleton Pattern  เป็นรูปแบบการออกแบบ class ที่เราต้องการให้มีการสร้าง Instance ของ class นี้ ได้เพียง Instance เดียวในโปรแกรม  มักใช้กับ class ที่ทำหน้าที่ในการควบคุมต่างๆ เพราะบางครั้งหาก มีการเผลอสร้าง Instance หลายตัว อาจทำให้โปรแกรมทำงานผิดพลาดได้

      Singleton Pattern มีเทคนิคอยู่ว่า  ให้เราประกาศ constructor ของ class เป็น private  นั่นหมายความว่า ผู้ใช้ภายนอกจะไม่สามารถทำการ  ”new”  class นี้ได้   ถ้าหากต้องการจะใช้งาน Instance ของ class นี้  จะต้องทำการขอ ด้วยการเรียก static method ของ class ซึ่งจะส่ง reference ของ Instance ซึ่ง class ได้สร้างเตรียมไว้ ออกมาให้

Example 

class  MyLove
{
   private  static  final  MyLove  m = new  MyLove();

   private  MyLove()   {
   }

    public  static  MyLove  getInstance()  {
        return m;
   }
}

     Singleton Pattern ทำให้เรามั่นใจได้ว่า ภายในโปรแกรมของเรามี Instance ของ class MyLove เพียงตัวเดียวเท่านั้น

Last 5 posts by Fiat

Leave a Reply