สมมติว่าผมมีชื่อตัวแปรbutton
ชนิดซึ่งเป็นหลักสูตรButton
System.Serializable
ฉันต้องการตัวแปรนั้นสามารถกำหนดได้ผ่านทางผู้ตรวจสอบดังนั้นฉันจึงทำมันpublic
:
public class SomeScript : MonoBehaviour{
public Button button;
}
ซึ่งให้ฉันว่า:
ตอนนี้ฉันต้องการรักษารหัสให้สะอาดและปลอดภัย (จัดระเบียบ) และมีเหตุผลที่แท้จริงว่าทำไมฉันจึงต้องรักษาความห่อหุ้มไว้
ฉันรู้ว่ามีหลายวิธีในการดึงส่วนประกอบบนรันไทม์เช่นtransform.Find("Some/Genius/TypeUnsafe/Path")
หรือGameObject.Find("3 seconds scene iteration").GetComponent(...).
ฉันต้องการที่จะหลีกเลี่ยง
ฉันจะผสมตัวแปรเข้าprivate access
กับpublic access
ตัวตรวจสอบได้อย่างไร
UI
/ API
MVC
/ MVVM
รูปแบบสำหรับการใช้งานขนาดใหญ่ (เกมไคลเอนต์จริง) และผมก็มีการแยกจากUI
API
ฉันต้องการกำหนดค่าผ่านทางผู้ตรวจสอบสาเหตุง่ายๆ - ไม่มีวิธีอื่น Find()
เมธอดนั้นไม่ปลอดภัยและง่ายกว่าที่จะรวบรวมสิ่งต่าง ๆ ด้วยการลาก & วาง มันยากจริงๆที่จะสร้างคลาสสิก OOP framework ด้วยUnity
และคุณต้องมองหาสิ่งที่เป็นแฮ็คแบบนี้
private
ไม่ได้มีจุดประสงค์เพื่อป้องกันไม่ให้บุคคลที่สามเข้าถึงข้อมูลในเขตข้อมูล แต่มีไว้เพื่อให้วิธีการพูดว่า "อย่ามองหลังม่านสิ่งที่ฉันทำจริงๆ" - นั่นคือส่วนใหญ่เป็นวิธีในการ ทำให้คุณไม่สามารถเข้าถึงได้