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

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

16
มีทางเลือกอื่นสำหรับ GOF Singleton Pattern หรือไม่?
มาเผชิญหน้ากันเถอะ รูปแบบ Singleton เป็นหัวข้อที่ถกเถียงกันอย่างมากกับโปรแกรมเมอร์พยุหะทั้งสองด้านของรั้ว มีผู้ที่รู้สึกว่า Singleton ไม่ได้เป็นเพียงตัวแปรระดับโลกที่น่ายกย่องอีกต่อไปและคนอื่น ๆ ที่สาบานด้วยแบบแผนและใช้มันอย่างไม่หยุดหย่อน อย่างไรก็ตามฉันไม่ต้องการให้การโต้เถียง Singletonอยู่ในหัวใจของคำถามของฉัน ทุกคนสามารถมีชักชวนของสงครามและการต่อสู้มันออกมาและดูว่าใครชนะสำหรับการดูแลผมทั้งหมด สิ่งที่ฉันพยายามจะพูดคือฉันไม่เชื่อว่าจะมีคำตอบที่ถูกต้องเพียงคำเดียวและฉันไม่ได้มีเจตนาที่จะพยายามก่อกวนการทะเลาะวิวาทของพรรคพวก ฉันสนใจเพียงทางเลือกเดียวเมื่อฉันถามคำถาม: มีทางเลือกอื่นสำหรับ GOF Singleton Pattern หรือไม่? ตัวอย่างเช่นหลายครั้งที่ฉันเคยใช้รูปแบบซิงเกิลตันในอดีตฉันสนใจแค่การรักษาสถานะ / ค่าของตัวแปรหนึ่งหรือหลายตัวแปร อย่างไรก็ตามสถานะ / ค่าของตัวแปรสามารถเก็บรักษาไว้ระหว่างแต่ละอินสแตนซ์ของคลาสโดยใช้ตัวแปรคงที่แทนที่จะใช้รูปแบบซิงเกิลตัน คุณมีแนวคิดอะไรอีกบ้าง? แก้ไข: ฉันไม่อยากให้นี่เป็นอีกโพสต์เกี่ยวกับ "วิธีใช้ซิงเกิลตันอย่างถูกต้อง" อีกครั้งฉันกำลังมองหาวิธีหลีกเลี่ยง เพื่อความสนุกสนานโอเค? ฉันเดาว่าฉันกำลังถามคำถามเชิงวิชาการอย่างหมดจดในเสียงตัวอย่างภาพยนตร์ที่ดีที่สุดของคุณ "ในจักรวาลคู่ขนานที่ไม่มีซิงเกิลตันเราจะทำอย่างไร"

11
รูปแบบการออกแบบ Singleton เทียบกับถั่ว Singleton ใน Spring container
อย่างที่เราทราบกันดีว่าเรามีถั่วเป็นซิงเกิลตันตามค่าเริ่มต้นใน Spring container และหากเรามีเว็บแอปพลิเคชันที่ใช้ Spring framework แล้วในกรณีนี้เราจำเป็นต้องใช้รูปแบบการออกแบบ Singleton เพื่อเก็บข้อมูลทั่วโลกแทนที่จะสร้าง bean ผ่านฤดูใบไม้ผลิ . โปรดอดทนกับฉันหากฉันไม่สามารถอธิบายสิ่งที่ฉันตั้งใจจะถามได้

8
บริการที่ไม่ใช่ Singleton ใน AngularJS
AngularJS ระบุอย่างชัดเจนในเอกสารว่า Services เป็น Singletons: AngularJS services are singletons ในทางตรงกันข้ามmodule.factoryยังส่งคืนอินสแตนซ์ Singleton ระบุว่ามีความอุดมสมบูรณ์ของกรณีการใช้งานสำหรับการให้บริการที่ไม่ใช่เดี่ยวสิ่งที่เป็นวิธีที่ดีที่สุดที่จะใช้วิธีการที่โรงงานจะกลับมากรณีของการบริการเพื่อให้แต่ละครั้งที่มีการExampleServiceพึ่งพาการประกาศก็เป็นที่พอใจโดยอินสแตนซ์ที่แตกต่างกันExampleService?

4
Singleton พร้อมคุณสมบัติใน Swift 3
ในเอกสารการใช้ Swift กับ Cocoa และ Objective-Cของ Apple (อัปเดตสำหรับ Swift 3) พวกเขาให้ตัวอย่างรูปแบบ Singleton ต่อไปนี้: class Singleton { static let sharedInstance: Singleton = { let instance = Singleton() // setup code return instance }() } ลองจินตนาการว่าซิงเกิลตันนี้ต้องจัดการสตริงตัวแปร ฉันจะประกาศคุณสมบัตินั้นได้อย่างไร / ที่ไหนและตรวจสอบให้แน่ใจว่าได้เริ่มต้นอย่างถูกต้องไปยัง[String]อาร์เรย์ว่างเปล่า
88 singleton  swift3 

4
แนวทางที่ดีที่สุดในการใช้ Enum เป็นซิงเกิลตันใน Java คืออะไร?
จากสิ่งที่เขียนในคำถาม SO Best Singleton Implementation In Java - คือเกี่ยวกับการใช้ enum เพื่อสร้าง singleton - อะไรคือความแตกต่าง / ข้อดี / ข้อเสียระหว่าง (ตัวสร้างละเว้น) public enum Elvis { INSTANCE; private int age; public int getAge() { return age; } } แล้วโทร Elvis.INSTANCE.getAge() และ public enum Elvis { INSTANCE; private int age; public static int getAge() …
85 java  singleton 

5
คลาสซิงเกิลในทับทิมคืออะไร?
คลาสซิงเกิลใน Ruby เป็นคลาสในตัวเองหรือไม่? มันเป็นเหตุผลว่าทำไมวัตถุทั้งหมดเป็นของ "คลาส"? แนวคิดนั้นคลุมเครือแต่ฉันเชื่อว่ามันมีส่วนเกี่ยวข้องกับสาเหตุที่ฉันสามารถกำหนดเมธอดคลาสได้เลย ( class foo; def foo.bar ...) คลาส Singleton ใน Ruby คืออะไร?
85 ruby  oop  singleton 

8
ความจำเป็นในการปรับเปลี่ยนการระเหยในการล็อกที่ตรวจสอบซ้ำใน. NET
ข้อความหลายข้อความระบุว่าเมื่อใช้การล็อกที่ตรวจสอบซ้ำใน. NET ช่องที่คุณกำลังล็อกควรมีการใช้ตัวปรับเปลี่ยนที่ระเหยได้ แต่ทำไมกันแน่? พิจารณาตัวอย่างต่อไปนี้: public sealed class Singleton { private static volatile Singleton instance; private static object syncRoot = new Object(); private Singleton() {} public static Singleton Instance { get { if (instance == null) { lock (syncRoot) { if (instance == null) instance = new Singleton(); } } …
85 c#  singleton  volatile 

1
พร็อกซีที่ถูกกำหนดขอบเขตใน Spring คืออะไร
ดังที่เราทราบ Spring ใช้พร็อกซีเพื่อเพิ่มฟังก์ชันการทำงาน ( @Transactionalและ@Scheduledตัวอย่าง) มีสองตัวเลือก - การใช้ JDK ไดนามิกพร็อกซี่ (คลาสต้องใช้อินเตอร์เฟสที่ไม่ว่าง) หรือสร้างคลาสย่อยโดยใช้ตัวสร้างโค้ด CGLIB ฉันคิดเสมอว่า proxyMode ช่วยให้ฉันสามารถเลือกระหว่าง JDK dynamic proxy และ CGLIB แต่ฉันสามารถสร้างตัวอย่างที่แสดงว่าข้อสันนิษฐานของฉันไม่ถูกต้อง: กรณีที่ 1: ซิงเกิล: @Service public class MyBeanA { @Autowired private MyBeanB myBeanB; public void foo() { System.out.println(myBeanB.getCounter()); } public MyBeanB getMyBeanB() { return myBeanB; } } ต้นแบบ: @Service …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.