NInject kullanarak birkaç yıl sonra kendi postama yanıt veriyor. İşte
Ben örnek olarak bir Kitapçı kullanarak, benim NInjectModules düzenlemek nasıl:
- BookStoreSolution
- Domain.csproj
- Services.csproj
- CustomerServicesInjectionModule.cs
- PaymentProcessingInjectionModule.cs
- DataAccess.csproj
- CustomerDatabaseInjectionModule.cs
- BookDatabaseInjectionModule.cs
- CustomSecurityFramework.csproj
- CustomSecurityFrameworkInjectionModule.cs
- PublicWebsite.csproj
012.
- PublicWebsiteInjectionModule.cs
- Intranet.csproj
- IntranetInjectionModule.cs
Bu ne söylediğini sistemde her proje bir veya daha fazla paketlenmiş olarak geldiği olmasıdır Bu projenin sınıfları için bağlamaları nasıl ayarlayacağını bilen NInject modülleri.
Çoğu zaman, bir uygulama, bir proje tarafından sağlanan varsayılan enjeksiyon modüllerinde önemli değişiklikler yapmak istemeyecektir. Örneğin, DataAccess projesini içe aktarması gereken küçük bir WinForm uygulaması oluşturuyorsam, normalde ilgili tüm Deposu <> arabirimlerine bağlı tüm projenin Deposu <> sınıflarına sahip olmak isteyeceğim. Aynı zamanda, özel bir uygulama için belirli bir enjeksiyon modülünü kullanmaya zorlayan hiçbir şey yoktur.Bir uygulama kendi enjeksiyon modülünü oluşturabilir ve içe aktardığı bir proje tarafından sağlanan varsayılan modülleri göz ardı edebilir. Bu şekilde sistem hala esnek ve ayrışmış durumda.
İyi soru. Endişelerinizi paylaştığım için daha fazla tartışmayı görmek isterim. Her bir alt sistem için bir modülün makul olduğu düşünülürse, aynı zamanda Ünite Testi için farklı bağlantı kabloları için modüller de mevcut. – JulianM