คำถามติดแท็ก inversion-of-control

Inversion of control (IoC) เป็นหลักการเชิงนามธรรมที่อธิบายลักษณะของการออกแบบสถาปัตยกรรมซอฟต์แวร์บางอย่างซึ่งการไหลของการควบคุมระบบจะกลับด้านเมื่อเทียบกับการเขียนโปรแกรมขั้นตอน

4
Ioc / DI - เหตุใดฉันจึงต้องอ้างอิงเลเยอร์ / แอสเซมบลีทั้งหมดในจุดเริ่มต้นของแอปพลิเคชัน
(เกี่ยวข้องกับคำถามนี้EF4: เหตุใดจึงต้องเปิดใช้งานการสร้างพร็อกซีเมื่อเปิดใช้งานการโหลดแบบขี้เกียจ ) ฉันยังใหม่กับ DI ดังนั้นอดทนกับฉัน ฉันเข้าใจว่าคอนเทนเนอร์มีหน้าที่ในการสร้างอินสแตนซ์ประเภทที่ลงทะเบียนทั้งหมดของฉัน แต่ในการดำเนินการดังกล่าวจำเป็นต้องมีการอ้างอิงถึง DLL ทั้งหมดในโซลูชันของฉันและการอ้างอิง หากฉันไม่ได้ใช้คอนเทนเนอร์ DI ฉันจะไม่ต้องอ้างอิงไลบรารี EntityFramework ในแอป MVC3 ของฉันมีเพียงเลเยอร์ธุรกิจของฉันซึ่งจะอ้างอิงเลเยอร์ DAL / Repo ของฉัน ฉันรู้ว่าในตอนท้ายของวัน DLL ทั้งหมดจะรวมอยู่ในโฟลเดอร์ bin แต่ปัญหาของฉันคือต้องอ้างอิงอย่างชัดเจนผ่าน "เพิ่มการอ้างอิง" ใน VS เพื่อให้สามารถเผยแพร่ WAP พร้อมไฟล์ที่จำเป็นทั้งหมดได้

5
วิธีการแก้ไข Instance Inside ConfigureServices ใน ASP.NET Core
เป็นไปได้ไหมที่จะแก้ไขอินสแตนซ์IOptions<AppSettings>จากConfigureServicesเมธอดใน Startup? โดยปกติคุณสามารถใช้IServiceProviderเพื่อเริ่มต้นอินสแตนซ์ แต่คุณไม่มีในขั้นตอนนี้เมื่อคุณลงทะเบียนบริการ public void ConfigureServices(IServiceCollection services) { services.Configure<AppSettings>( configuration.GetConfigurationSection(nameof(AppSettings))); // How can I resolve IOptions<AppSettings> here? }

4
การใช้ IoC สำหรับการทดสอบหน่วย
จะใช้คอนเทนเนอร์ IoC สำหรับการทดสอบหน่วยได้อย่างไร? การจัดการล้อเลียนในโซลูชันขนาดใหญ่ (มากกว่า 50 โครงการ) โดยใช้ IoC มีประโยชน์หรือไม่ ประสบการณ์ใด ๆ ไลบรารี C # ใดที่ใช้งานได้ดีในการทดสอบหน่วย?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.