ว่าด้วยเรื่อง “Singleton pattern” ใน Java

Phayao Boonon
1 min readOct 3, 2018

--

Singleton pattern ใน Java เป็นเรื่องที่ง่ายแต่บางทีก็อาจจะลืมได้ว่ามันเขียนอย่างไร วันนี้เลยอยากจะเขียนให้ตัวเองเข้าใจว่าอะไรคือ Singleton object จริงๆ ใน Java

Singleton pattern เป็นหนี่งใน design pattern ของ GoF (Gang of Four) อยู่ในกลุ่มของ Creational Design Pattern ซึ่งเป็น pattern ที่อธิบายว่าเราจะแก้ไขปัญหา recurring design เพื่อให้ design ของ Object-oriented software มีความ flexible และ reusable ทำให้ object มีความง่ายในการ implement, change, test และ reuse

คุณสมบัติของ Singleton pattern

  • จำกัดการสร้าง instance หรือ instantiation ของคลาส เพื่อให้แน่ใจมีเพียง instace เดียวของคลาสที่ถูกสร้างใน JVM
  • ต้องสามารถเข้าถึงได้สาธารณะสำหรับการเอา instance ของคลาส

สร้างคลาส SingleObject

มาดูว่ามัน implement อย่างไรดีกว่า ผมสร้างคลาส SingleObject ซึ่งเป็นคลาสที่สร้างตาม Singleton pattern ที่จะให้มีเพียง object เดียว

จะเห็นได้ว่า

  • ภายในคลาสจะมีการสร้าง instance ของ ของคลาส SingleObject ขึ้นมาชื่อว่า instance (แต่จริงๆแล้วชื่ออะไรก็ได้ แต่ขอให้สร้าง object ขึ้นมาในคลาส)
  • สร้าง constructor ให้ที access-modifier เป็น private เพื่อที่จะไม่ให้มีการสร้าง instace ของคสาสนี้ได้
  • มี method getInstance ที่เป็นจุดที่ให้สามารถเอา instace ของคลาสได้

เอาไปใช้อย่าไร

เราไม่สมารถ instantiation คลาส Singleton ได้แต่สามารถเรียก getInstance เพื่อเอา instance ของคลาส Singleton มาใช้งาน

อ้างอิง

--

--

Phayao Boonon
Phayao Boonon

Written by Phayao Boonon

Software Engineer 👨🏻‍💻 Stay Hungry Stay Foolish

No responses yet