โปรแกรมเมอร์หลายๆ คนคงรู้จักเทคนิคการพัฒนาซอฟต์แวร์แบบ Singleton ที่ให้บางออปเจกต์มีเพียงชุดเดียวเสมอทั้งโปรแกรม (คล้ายๆ ตัวแปร Global) แม้จะมีข้อดีต่อความง่ายในการพัฒนาหลายๆ ด้าน การใช้ Singleton ก็มีอันตรายต่อการพัฒนาพอสมควร โดยเฉพาะเมื่อโปรแกรมเมอร์ที่พัฒนาต่อยอดไม่รู้ว่ากำลังใช้งาน Singleton อยู่ ในประเด็นนี้ทางกูเกิลได้ออกโปรแกรม google-singleton-detector ที่ใช้ตรวจจับ Singleton ทั้งหมดในซอร์สโค้ดภาษาจาวา
ทางนักพัฒนาโปรแกรมนี้ได้ชี้แจงไว้ว่าการใช้งาน Singleton นั้นเหมาะสมกับหลายๆ กรณี แต่หลายๆ ครั้งแล้วมักมีการใช้งานที่ผิดพลาดทำให้เกิดปัญหาขึ้นบ่อยครั้ง โปรแกรมตัวนี้จึงไม่ใช่โปรแกรมเพื่อขจัด Singleton ออกมาซอฟต์แวร์ทั้งหมด แต่ช่วยชี้ให้เห็นว่าในส่วนใดบ้างที่มีการใช้งาน
ตัวอย่าง Singleton ที่เราเห็นได้เสมอๆ ในการพัฒนาโครงการใหญ่ๆ คือระบบการรับคอนฟิกที่มักเป็นออปเจกตัวเดียวทั้งโปรแกรม
ที่มา - Google Code