คำถามติดแท็ก singleton

รูปแบบการออกแบบที่ทำให้มั่นใจได้ว่าอินสแตนซ์ทั้งแอปพลิเคชันของคลาสเฉพาะนั้นมีอยู่จริง หนึ่งในรูปแบบการออกแบบที่สร้างสรรค์ของ Gang of Four

10
คอนสตรัคเตอร์ C # คงที่ปลอดภัยหรือไม่?
กล่าวอีกนัยหนึ่งเธรดการใช้งานซิงเกิลนี้ปลอดภัยหรือไม่: public class Singleton { private static Singleton instance; private Singleton() { } static Singleton() { instance = new Singleton(); } public static Singleton Instance { get { return instance; } } }

2
Singleton by Jon Skeet ชี้แจง
public sealed class Singleton { Singleton() {} public static Singleton Instance { get { return Nested.instance; } } class Nested { // Explicit static constructor to tell C# compiler // not to mark type as beforefieldinit static Nested() {} internal static readonly Singleton instance = new Singleton(); } } ฉันต้องการนำรูปแบบซิงเกิลของ …




6
การนำ Singleton ไปใช้กับ Enum (ใน Java)
ฉันได้อ่านว่ามันเป็นไปได้ที่จะนำไปใช้Singletonใน Java โดยใช้Enumเช่น: public enum MySingleton { INSTANCE; } แต่ข้างต้นทำงานอย่างไร โดยเฉพาะObjectจะต้องมีการยกตัวอย่าง ที่นี่วิธีMySingletonการยกตัวอย่าง? ใครกำลังทำnew MySingleton()อะไร

10
ฉันจะใช้ Objective-C singleton ที่เข้ากันได้กับ ARC ได้อย่างไร
ฉันจะแปลง (หรือสร้าง) คลาสซิงเกิลตันที่รวบรวมและทำงานอย่างถูกต้องเมื่อใช้การนับการอ้างอิงอัตโนมัติ (ARC) ใน Xcode 4.2 ได้อย่างไร

20
ซิงเกิลที่มีอาร์กิวเมนต์ใน Java
ฉันอ่านบทความ Singleton ใน Wikipedia และฉันพบตัวอย่างนี้: public class Singleton { // Private constructor prevents instantiation from other classes private Singleton() {} /** * SingletonHolder is loaded on the first execution of Singleton.getInstance() * or the first access to SingletonHolder.INSTANCE, not before. */ private static class SingletonHolder { private static final Singleton …

11
มีกรณีการใช้งานสำหรับ singletons ด้วยการเข้าถึงฐานข้อมูลใน PHP?
ฉันเข้าถึงฐานข้อมูล MySQL ของฉันผ่าน PDO ฉันตั้งค่าการเข้าถึงฐานข้อมูลและความพยายามครั้งแรกของฉันคือการใช้สิ่งต่อไปนี้: สิ่งแรกที่ผมคิดว่ามีที่global: $db = new PDO('mysql:host=127.0.0.1;dbname=toto', 'root', 'pwd'); function some_function() { global $db; $db->query('...'); } นี่ถือว่าเป็นการปฏิบัติที่ไม่ดี หลังจากค้นหาเพียงเล็กน้อยฉันก็จบลงด้วยรูปแบบซิงเกิลซึ่ง "ใช้กับสถานการณ์ที่จำเป็นต้องมีอินสแตนซ์เดียวของคลาส" ตามตัวอย่างในคู่มือเราควรทำสิ่งนี้: class Database { private static $instance, $db; private function __construct(){} static function singleton() { if(!isset(self::$instance)) self::$instance = new __CLASS__; return self:$instance; } function get() { if(!isset(self::$db)) self::$db …

19
วิธีกำหนด Singleton ใน TypeScript
วิธีใดที่ดีที่สุดและสะดวกที่สุดในการนำรูปแบบ Singleton ไปใช้กับคลาสใน TypeScript คืออะไร (ทั้งที่มีและไม่มีการเริ่มต้นแบบขี้เกียจ)

10
การทำให้เป็นอนุกรมของ Java: readObject () เทียบกับ readResolve ()
หนังสือEffective Javaและแหล่งข้อมูลอื่น ๆ ให้คำอธิบายที่ค่อนข้างดีเกี่ยวกับวิธีและเวลาที่จะใช้เมธอด readObject () เมื่อทำงานกับคลาส Java ที่ต่ออนุกรมกันได้ ในทางกลับกันเมธอด readResolve () ยังคงเป็นปริศนาเล็กน้อย โดยทั่วไปเอกสารทั้งหมดที่ฉันพบอาจกล่าวถึงเพียงหนึ่งในสองรายการหรือกล่าวถึงทั้งสองแบบทีละรายการเท่านั้น คำถามที่ยังไม่มีคำตอบคือ: อะไรคือความแตกต่างระหว่างสองวิธี? วิธีใดควรดำเนินการเมื่อใด readResolve () ควรใช้อย่างไรโดยเฉพาะในแง่ของการคืนค่าอะไร ฉันหวังว่าคุณจะกระจ่างในเรื่องนี้

8
Java Singleton และการซิงโครไนซ์
โปรดชี้แจงข้อสงสัยของฉันเกี่ยวกับ Singleton และ Multithreading: วิธีใดเป็นวิธีที่ดีที่สุดในการนำ Singleton ไปใช้ใน Java ในสภาพแวดล้อมแบบมัลติเธรด จะเกิดอะไรขึ้นเมื่อหลายเธรดพยายามเข้าถึงgetInstance() วิธีการในเวลาเดียวกัน เราสามารถสร้างซิงเกิลตันได้getInstance() synchronizedหรือไม่? การซิงโครไนซ์จำเป็นจริงๆหรือไม่เมื่อใช้คลาส Singleton

13
ทางเลือกอื่นของ Singleton คืออะไร
เรามีคลาสที่เก็บข้อมูลการกำหนดค่าสำหรับแอปพลิเคชัน ที่นี่เคยเป็นซิงเกิลตัน หลังจากการตรวจสอบสถาปัตยกรรมบางส่วนเราได้รับคำสั่งให้ลบซิงเกิลตันออก เราเห็นประโยชน์บางประการของการไม่ใช้ซิงเกิลตันในการทดสอบหน่วยเนื่องจากเราสามารถทดสอบการกำหนดค่าต่างๆพร้อมกันได้ หากไม่มีซิงเกิลตันเราต้องส่งอินสแตนซ์ไปทั่วทุกที่ในโค้ดของเรา มันยุ่งมากเราเลยเขียนเสื้อคลุมซิงเกิลตัน ตอนนี้เรากำลังย้ายรหัสเดียวกันไปยัง PHP และ. NET ฉันสงสัยว่ามีรูปแบบที่ดีกว่าที่เราสามารถใช้กับวัตถุกำหนดค่าได้หรือไม่

9
รูปแบบ Singleton ใน nodejs - จำเป็นหรือไม่?
ฉันเพิ่งเจอบทความนี้เกี่ยวกับวิธีการเขียนซิงเกิลตันใน Node.js ฉันรู้เอกสารของrequire รัฐที่: โมดูลจะถูกแคชไว้หลังจากโหลดครั้งแรก การโทรหลายครั้งrequire('foo')อาจไม่ทำให้โค้ดโมดูลถูกเรียกใช้งานหลายครั้ง ดังนั้นดูเหมือนว่าทุกโมดูลที่จำเป็นสามารถใช้เป็นซิงเกิลตันได้อย่างง่ายดายโดยไม่ต้องใช้รหัสสำเร็จรูปแบบซิงเกิลตัน คำถาม: บทความข้างต้นให้ข้อมูลเกี่ยวกับวิธีการสร้างซิงเกิลตันหรือไม่?

7
เหตุใดจึงใช้ซิงเกิลตันแทนวิธีการคงที่
ฉันไม่เคยพบคำตอบที่ดีสำหรับคำถามง่ายๆเหล่านี้เกี่ยวกับคลาสตัวช่วย / ยูทิลิตี้: เหตุใดฉันจึงต้องสร้างซิงเกิลตัน (ไร้สัญชาติ) แทนที่จะใช้วิธีการแบบคงที่ เหตุใดจึงจำเป็นต้องใช้อินสแตนซ์วัตถุหากวัตถุไม่มีสถานะ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.