12

Bir süredir programlama yapıyorum, ancak her bir kavramın ne anlama geldiğini teoride bilmemle hiç ilgilenmedim, çeşitli programlama kavramları kullanıyor olabilirim, ancak bilmeden o.Service Locator, Bağımlılık Enjeksiyonu (ve Konteyneri) ve Kontrolün Tersine Çevirilmesi

Servis Bulucu: Benim için , kod miktarını azaltarak gelişimini hızlandırmak için kısayollar bir kaydı anlamına gelir. Bir soru şudur: Yer belirleyici yalnızca ad alanlarına/sınıflarına atıfta bulunabilir veya değişkenlerin bir kayıt defterine sahip olabilir miyim?

$locator = new ServiceLocator() 
$locator->set('app', new System\Application()); 
$locator->set('db', new System\Pdo()); 

// Get the objects 
$locator->get('db')->connect(); 
$locator->get('app')->run(); 

Bağımlılık Enjeksiyon (ve Bağımlılık Enjeksiyon Konteyner): bakılmaksızın fabrika deseni bu daha hızlı erişim sağlayan nesneler içindeki nesneleri enjekte

İşte benim bunun anlaşılmasıdır. Ve DI Konteyner? bu tasarım Desen anlama (ya anlıyorum ama ne yapmam IoC ise bilmiyorum) etmeyin

: Kontrol ait

$app = new System\Application(System\Config::load()); 

İnversiyon: Burada

bunun benim anladığım

Daha sonra, teoride (tercihen basit örneklerle), bu kavramların her biri ne anlama geliyor? Doğru muyum, yanlış olan/geliştirilebilir miyim?

Teşekkürler!

+0

"daha hızlı erişim." Küresel değişkenler veya singletonlar aynı hızda olabilir. Bahsettiğin şeyin modülerlik hakkında daha fazla olduğunu düşünüyorum. – landons

+0

Bir DI'ye sahip olduğumda, tüm sınıf bir diğerinin içine enjekte edilir, bu yüzden başka bir Tasarım Kalıbı'na ihtiyacım yoktur çünkü 2. sınıfımın tümüne ihtiyacım var. (anladın mı ?!) –

+0

Bir dakika .. Buradaki soruları kim soruyor? : P – landons

cevap

İlgili konular