2016-03-26 19 views
1

Varsayılan olarak yeni bir MVC5 projesiyle birlikte gelen Service Locator Anti Pattern'i kaldırmaya çalışıyorum. Ben yerine Ninject kullanarak yapmaya çalışıyorum. Bir MVC5 uygulaması değil, birlik anlamına gelen aşağıdaki kılavuza geldim. Söyleyebileceğim kadarıylaMVC5 DI ile Kimlik (Service Locator önleme desenini kaldırma)

http://tech.trailmax.info/2014/09/aspnet-identity-and-ioc-container-registration/

, o maddeye ve yeni MVC5 uygulaması arasında kodunda çok fazla fark yoktur. Bununla birlikte, ne yapacağımı anlayamadığım bir şey var. Yukarıda verdiğim yazıda

aşağıdaki yöntemi

private static void RegisterTypes(IUnityContainer container) 
{ 
    container.RegisterType<ApplicationDbContext>(); 
    container.RegisterType<ApplicationSignInManager>(); 
    container.RegisterType<ApplicationUserManager>(); 
} 

bu kapsayıcı ne olduğunu anlamaya çalışan ve am var ne MVC5 içinde benim sınıfları kayıt altına alacak. Derslerimi başlamak için bazı kapsayıcılarıma kaydetmem gerekiyor mu? Hala burada öğrenme ve MVC5 ve Identity için oldukça yeniyim, bu yüzden herhangi bir yardım en çok takdir edilmektedir.

cevap

0

Kap, her bir soyutlama ve bunun uygulanması için yapılandırma ayarlarını içerir. container bağımlılık oluşturmak ve gerektiğinde bunları otomatik olarak enjekte etmek için kullanılır. Bir soyutlama örneğine ihtiyaç duyulduğunda, konteyner bunu talep eden kişiye sağlar. İstek üzerine otomatik olarak nesneler oluşturur ve gerektiğinde bunları enjekte eder. Kap, uygulamadaki bağımlılıkları basit ve kolay bir şekilde yönetmeye yardımcı olur.