ตัวอย่างโค้ด ของ แบบแผนซิงเกิลตัน

ภาษา C#

โค้ดตัวอย่างการใช้คลาสชิงเกิลตันในภาษาซีชาร์ปด้วยวิธีดอตเน็ต

sealed class Singleton {    private Singleton() {}    public static readonly Singleton instance = new Singleton();}

ภาษา Java

ซอร์สโค้ดคลาสซิงเกิลตันในภาษาจาวา

public class Singleton {    private static Singleton instance = null;        private Singleton() {}        public static Singleton getInstance() {        if (instance == null) {            instance = new Singleton();        }                return instance;    }        public void doWork() {        // do something    }}

การเรียกใช้งาน

Singleton.getInstance().doWork();

คลาสซิงเกิลตันแบบปลอดภัยในการทำงานแบบ multi-threading โดย Bill Pugh

public class ThreadSafeSingleton {    private ThreadSafeSingleton() {    }    private static class SingletonHolder {        private static ThreadSafeSingleton instance = new ThreadSafeSingleton();    }    public static ThreadSafeSingleton getInstance() {        return SingletonHolder.instance;    }}

ภาษา PHP

<?phpclass Singleton{    private static $single;    private function __construct() {    }    public static function getInstance() {        if (self::$single === null) {            self::$single = new Singleton();        }        return self::$single;    }    public function doWork() {        // do something    }    public function __wakeUp(){    }    public function __clone(){    }}?>

การเรียกใช้งาน

Singleton::getInstance()->doWork();

ใกล้เคียง

แบบแผนการออกแบบซอฟต์แวร์ แบบแผนซิงเกิลตัน แบบแผนแฟกทอรีเมธอด แบบแผนโรงงานนามธรรม แบบแผนประกอบรวม แบบแผนอะแดปเตอร์ แบบแผนเทมเพลตเมธอด แบบแผนผู้สังเกต แบบแผนอินเทอร์พรีเตอร์ แบบแผนฟะซาด