ฉันกำลังแก้ปัญหาเช่นนี้: ฉีดโรงงานที่ต้องพึ่งพา ในโรงงานเหล่านั้นก่อนอื่นให้แก้ไขการพึ่งพาเนื่องจากมีการลงทะเบียนในคอนเทนเนอร์แล้ว "ดีซีเรียลไลซ์" ข้อมูลที่เหลือทั้งหมด: json.net อนุญาตให้เติมฟิลด์ในวัตถุที่มีอยู่
เมื่อรหัสโรงงานไปพร้อมกับรหัสการเดินสายของคอนเทนเนอร์ IoC ฉันไม่คิดว่าการใช้งานcontainer.Resolve
ภายในโรงงานละเมิดกฎที่container
ต้องใช้ในที่เดียวในรหัส: การเดินสายทั้งหมดเกิดขึ้น
ณ ตอนนี้ฉันกำลังพยายามทำให้กระบวนการนี้เป็นแบบอัตโนมัติ (ซึ่งต่างกับสิ่งที่ฉันกำลังทดสอบวิธีการนั้น) โดยใช้การไตร่ตรอง ใช่มีไม่มากที่เหลืออยู่จากการดีซีเรียลไลเซชั่นของ json.net ตัวเองส่วนหนึ่งของมันถูกแทนที่ด้วยรหัสที่กำหนดเอง แต่ฉันคิดว่าทำไมต้องรำคาญ
อะไรคือความคิด / การตัดสินใจขั้นสุดท้ายของคุณเกี่ยวกับเรื่องนี้ หลังจากอ่านโพสต์นี้ฉันเห็นสองวิธี: deserialize แล้วฉีด; หรือฉีดจากนั้นยกเลิกการซีเรียลไลซ์ (เติมข้อมูล) และฉันก็ยังพบว่าวิธีของฉันดีกว่า ยินดีที่จะได้ยินข้อโต้แย้งที่ขัดแย้งกับสิ่งนี้ (ฉันเกี่ยวข้องกับวิธีการของฉันอาจดีกว่าสำหรับกรณีของฉัน แต่ไม่สามารถจินตนาการกรณีทางเลือกที่ดีที่มันล้มเหลวได้เพียงเดาเล็กน้อย)
This would eliminate the possibility of using Constructor injected DI
- ทำไม คุณยังสามารถมีผู้สอนที่ปรับพารามิเตอร์ได้ตราบใดที่คุณรวม Constructor เริ่มต้นสำหรับการทำให้เป็นอนุกรม (Constructor เริ่มต้นสามารถเป็นส่วนตัวได้หากคุณต้องการ)