Logo th.boatexistence.com

ควรใช้ซิงเกิลตัน สวิฟต์เมื่อใด

สารบัญ:

ควรใช้ซิงเกิลตัน สวิฟต์เมื่อใด
ควรใช้ซิงเกิลตัน สวิฟต์เมื่อใด
Anonim

คุณใช้ซิงเกิลตัน เพื่อจัดเตรียมอินสแตนซ์ของชั้นเรียนที่ใช้ร่วมกันซึ่งเข้าถึงได้ทั่วโลก คำจำกัดความนี้ไม่ได้มีลักษณะเฉพาะในเอกสารประกอบของ Apple บทความ Wikipedia ที่ฉันเชื่อมโยงด้านบนยังระบุด้วยว่า “การใช้งานรูปแบบซิงเกิลตันต้องให้การเข้าถึงทั่วโลกสำหรับอินสแตนซ์นั้น”

ทำไมถึงใช้ซิงเกิลตันใน Swift

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

เมื่อใดที่คุณไม่ควรใช้ซิงเกิลตัน

สถานการณ์เดียวที่คุณควรพิจารณาซิงเกิลตันคือเมื่อมีข้อมูลทั่วโลกมากกว่าหนึ่งอินสแตนซ์ จริงๆ แล้วจะเป็น ข้อผิดพลาดในการเข้าถึงลอจิคัลหรือฮาร์ดแวร์.

ลิงก์ที่เกี่ยวข้อง:

  1. ความเปราะบางที่เรียกโดย Global State และ Singletons
  2. การพึ่งพาการฉีดเพื่อหลีกเลี่ยงคนโสด
  3. โรงงานและซิงเกิลตัน

ซิงเกิลตันอะไรดี

ควรใช้ซิงเกิลตัน เมื่อจัดการการเข้าถึงทรัพยากรที่แชร์โดยแอปพลิเคชันทั้งหมด และอาจเป็นอันตรายได้หากมีหลายอินสแตนซ์ของคลาสเดียวกัน ตรวจสอบให้แน่ใจว่าการเข้าถึงเธรดทรัพยากรที่ใช้ร่วมกันอย่างปลอดภัยเป็นตัวอย่างที่ดีอย่างหนึ่งที่แสดงให้เห็นว่ารูปแบบประเภทนี้มีความสำคัญอย่างไร

ซิงเกิลตันไม่ดีสวิฟท์หรือเปล่า

Singletons ไม่ได้แย่ในระดับสากล แต่ในหลาย ๆ สถานการณ์ ปัญหาเหล่านี้มาพร้อมกับชุดของปัญหาที่สามารถหลีกเลี่ยงได้โดยการสร้างความสัมพันธ์ที่ชัดเจนยิ่งขึ้นระหว่างวัตถุของคุณและโดยใช้การพึ่งพา การฉีด