Şu anda SOLID'i anlamaya çalışıyorum. Dolayısıyla, Bağımlılık İnversiyon Prensibi, herhangi bir iki sınıfın doğrudan değil de arayüzlerle iletişim kurması gerektiği anlamına gelir. Örnek: class ABir işaretçiyi türdeki bir nesneye bekleyen bir yönteme sahipse , class Bbu yöntem aslında türden bir nesne beklemelidir abstract base class of B. Bu, Aç / Kapat için de yardımcı olur.
Bunu doğru anlamış olsaydım, sorum şu , bunu tüm sınıf etkileşimlerine uygulamak iyi bir pratik mi olacaktı yoksa katmanlar açısından düşünmeye çalışmalı mıyım?
Şüpheci olmamın nedeni, bu prensibi izlememiz için biraz bedel ödüyor olmamız. Diyelim ki bu özelliği uygulamaya ihtiyacım var Z. Analizden sonra, ben özellik olduğu sonucuna Zişlevsellik oluşur A, Bve C. Ben oluşturmak cephe sınıf Z, yani arayüzleri aracılığıyla, sınıfları kullanır A, Bve C. Ben uygulanmasını kodlama başlar ve bir noktada ben görev biliyoruz Zaslında işlevsellik oluşur A, Bve D. Şimdi Carayüzü, Csınıf prototipini hurdaya ayırmam ve ayrı bir Darayüz ve sınıf yazmam gerekiyor. Arayüzler olmadan sadece sınıfın değiştirilmesi gerekecekti.
Başka bir deyişle, bir şeyi değiştirmek için, değiştirmem gerekiyor 1. arayan 2. arayüz 3. beyanname 4. uygulama. Doğrudan bağlı bir uygulamada bir pitonda sadece uygulamayı değiştirmem gerekecek .