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ığımDaha sonra, teoride (tercihen basit örneklerle), bu kavramların her biri ne anlama geliyor? Doğru muyum, yanlış olan/geliştirilebilir miyim?
Teşekkürler!
"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
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ı ?!) –
Bir dakika .. Buradaki soruları kim soruyor? : P – landons