ปัญหา
ฉันเพิ่งอ่านมากเกี่ยวกับ Singletons ไม่ดีและวิธีการฉีดพึ่งพา (ซึ่งฉันเข้าใจว่าเป็น "ใช้อินเตอร์เฟส") ดีกว่า เมื่อฉันใช้ส่วนนี้กับ callbacks / interfaces / DI และปฏิบัติตามหลักการแยกส่วนติดต่อฉันสิ้นสุดค่อนข้างยุ่งเหยิง
การพึ่งพาของพาเรนต์ UI ที่โดยทั่วไปแล้วพวกเด็ก ๆ ทั้งหมดรวมกันดังนั้นยิ่งลำดับชั้นขององค์ประกอบ UI มากขึ้นเท่าใดคอนสตรัคเตอร์ก็ยิ่งบวมมากขึ้นเท่านั้น
ทางด้านบนของลำดับชั้น UI นั้นเป็นคลาสแอปพลิเคชันเก็บข้อมูลเกี่ยวกับการเลือกปัจจุบันและการอ้างอิงถึงโมเดล 3 มิติที่ต้องการสะท้อนการเปลี่ยนแปลง แอปพลิเคชั่นคลาสใช้งานอินเทอร์เฟซ 8 ตัวและนี่เป็นเพียงหนึ่งในห้าของผลิตภัณฑ์ (/ อินเตอร์เฟส) ที่จะเกิดขึ้น!
ฉันทำงานกับ singleton ที่ถือการเลือกปัจจุบันและองค์ประกอบ UI ที่มีฟังก์ชั่นเพื่อปรับปรุงตัวเอง ฟังก์ชั่นนี้จะแยกส่วนทรี UI และองค์ประกอบ UI จากนั้นเข้าถึงซิงเกิลที่เลือกปัจจุบันตามต้องการ รหัสดูเหมือนจะสะอาดกว่าสำหรับฉันด้วยวิธีนี้
คำถาม
โครงการนี้น่าจะเหมาะสำหรับโครงการนี้หรือไม่
ถ้าไม่มีข้อบกพร่องพื้นฐานในการคิดและ / หรือการนำ DI มาใช้ซึ่งทำให้ยุ่งยาก
ข้อมูลเพิ่มเติมเกี่ยวกับโครงการ
ประเภท: ตะกร้าช้อปปิ้งสำหรับอพาร์ทเมนท์พร้อมระฆังและนกหวีด
ขนาด: 2 เดือนสำหรับการ
บำรุงรักษารหัสและ UI : ไม่มีการอัปเดตที่ใช้งานอยู่ แต่อาจ "รุ่น 2.0" ในภายหลัง
สภาพแวดล้อม: การใช้ C # ใน Unity ซึ่งใช้หน่วยงาน ระบบส่วนประกอบ
ในเกือบทุกกรณีการโต้ตอบกับผู้ใช้จะกระตุ้นการทำงานหลายอย่าง ตัวอย่างเช่นเมื่อผู้ใช้เลือกรายการ
- ส่วน UI ที่แสดงรายการนั้นและคำอธิบายจำเป็นต้องได้รับการอัปเดต สำหรับสิ่งนี้มันยังต้องได้รับข้อมูลบางอย่างจากแบบจำลอง 3 มิติเพื่อคำนวณราคา
- ยิ่งไปกว่า UI, ราคาทั้งหมดโดยรวมจะต้องมีการปรับปรุง
- จำเป็นต้องมีฟังก์ชั่นที่เกี่ยวข้องในคลาสบนโมเดล 3 มิติเพื่อแสดงการเปลี่ยนแปลงที่นั่น