มีใครเริ่มโครงการที่จะทำ IOC ในเวลารวบรวม (อาจจะใช้ Roslyn หรือ Linq MethodInfo ปล่อย)?
ประสบการณ์ของฉันกับคอนเทนเนอร์ของ IOC นั้นยอดเยี่ยมมากโดยมีปัญหาเล็ก ๆ น้อย ๆ
- คอนเทนเนอร์ IOC จำนวนมากเริ่มทำงานช้าลงเนื่องจากตรรกะการแก้ปัญหาส่วนใหญ่เกิดขึ้นที่นี่
- บ่อยครั้งที่ยากที่จะตรวจสอบให้แน่ใจว่าการแก้ปัญหาเป็นไปได้เนื่องจากการรวบรวมไม่ทำให้แน่ใจได้ว่าตัวสร้างสามารถเรียกได้อีกต่อไป
- บ่อยครั้งที่คอนเทนเนอร์ของ IOC เพิ่มโอเวอร์เฮดขนาดเล็กให้กับรันไทม์ (บางอันไม่ได้เล็กแม้แต่บางอันที่เริ่มทำงานเร็วขึ้นอย่างรวดเร็ว)
สำหรับฉันแล้วดูเหมือนว่าทางออกที่ดีที่สุดคือการเพิ่มขั้นตอนการคอมไพล์ให้กับ build chain ที่เพิ่มคลาส Factory แทน IOC
มีใครทำแบบนี้มาก่อนหรือไม่ ถ้าไม่ทำไมล่ะ