เทคนิคการหลีกเลี่ยงการใช้งาน Singleton Pattern
แต่จากข้อเสียของ Singleton ทำให้หลายๆคนอาจไม่ชอบใช้ (ไม่ว่าด้วยเหตุใดก็ตาม) เราก็มีวิธีเลี่ยงการใช้งาน Singleton ได้
กฏข้อที่หนึ่ง Singleton ต้องมีเพียง Instance เดียวเท่านั้น (Single Instance) ข้อนี้ไม่ยากครับ ให้เราสร้างคลาสและควบคุมการสร้างด้วยตัวเองให้ได้ (ห้ามไม่ให้มีใครสร้างซ้ำด้วยตัวเอง)
กฏข้อที่สอง Singleton ต้องสามารถเรียกใช้ได้จากทุกที่ (Global Access) ข้อนี้ง่ายมาก PHP มีตัวแปร Global ให้เรียกใช้อยู่แล้วเช่น $_ENV
$_ENV['cfg'] = new Cgf();
เพียงแค่นี้เราก็สามารถเรียกใช้คลาสด้วยตัวแปร $_ENV['cfg'] จากที่ใดก็ได้
จริงๆแล้วคำแนะนำจากผมคือ เราจะสามารถเลือกใช้ Singleton หรือไม่ก็ได้ ถ้าเราเลือกที่จะไม่ใช้ เราก็ต้องควบคุมมันด้วยตัวเอง (เหมาะกับโปรเจ็คขนาดเล็กหรือทำคนเดียว) แต่หากทำงานเป็นทีมหรือบนโปรเจ็คขนาดใหญ่ การใช้ Singleton ก็จะช่วยลดข้อผิดพลาดลงได้