สมมติว่าฉันต้องใช้ C (ไม่มี C ++ หรือคอมไพเลอร์เชิงวัตถุ) และฉันไม่มีการจัดสรรหน่วยความจำแบบไดนามิกเทคนิคอะไรบ้างที่ฉันสามารถใช้ในการใช้คลาสหรือการประมาณคลาสที่ดี? เป็นความคิดที่ดีหรือไม่ที่จะแยก "class" เป็นไฟล์แยกต่างหาก? สมมติว่าเราสามารถจัดสรรหน่วยความจำล่วงหน้าโดยสมมติว่ามีอินสแตนซ์จำนวนคงที่หรือกำหนดการอ้างอิงไปยังแต่ละวัตถุเป็นค่าคงที่ก่อนเวลารวบรวม อย่าลังเลที่จะตั้งสมมติฐานเกี่ยวกับแนวคิดของ OOP ที่ฉันจะต้องนำไปใช้ (จะแตกต่างกัน) และแนะนำวิธีที่ดีที่สุดสำหรับแต่ละข้อ
ข้อ จำกัด:
- ฉันต้องใช้ C และไม่ใช่ OOP เพราะฉันกำลังเขียนรหัสสำหรับระบบฝังตัวและคอมไพเลอร์และฐานรหัสที่มีอยู่ก่อนหน้านี้อยู่ใน C
- ไม่มีการจัดสรรหน่วยความจำแบบไดนามิกเพราะเรามีหน่วยความจำไม่เพียงพอที่จะสันนิษฐานว่าเราจะไม่หมดถ้าเราเริ่มการจัดสรรแบบไดนามิก
- คอมไพเลอร์ที่เราทำงานด้วยไม่มีปัญหากับพอยน์เตอร์ของฟังก์ชัน
apr_
และ GLib นำหน้าด้วยg_
เพื่อสร้างเนมสเปซ) และปัจจัยการจัดระเบียบอื่น ๆ โดยไม่มี OOP หากคุณกำลังจะปรับโครงสร้างแอปใหม่อีกครั้งฉันจะลองใช้เวลาสักครู่ในการพิจารณาโครงสร้างขั้นตอนที่บำรุงรักษาได้