> Dependency Injection worth it **outside** of UnitTesting?
> Are we justified in avoiding trying to program to an interface?
Bu soruya verilen birçok cevap, eğer birim test yapmak istemiyorsanız, YAGNI olarak "buna ihtiyacınız olabilir .." olarak tartışılabilir.
Birim testlerin yanında hangi nedenlerin bir arayüze programlanması gerektiğini soruyorsanız
Evet , eğer kontrolün tersine çevrilmesi gerekiyorsa, UnitTesting dışında buna değer Bağımlılık Enjeksiyonu . Örneğin, bir modül uygulamasının katmanında erişilemeyen başka bir modül gerekiyorsa.
Örnek: gui=> businesslayer=> driver=> modüllerine sahipseniz common.
Bu senaryoda businesslayerkullanabilir driverancak driverkullanamazsınız businesslayer.
Daha yüksek driverseviyeli bir işlevsellik gerekiyorsa businesslayer, commonkatmandaki bir arabirimi uygulayan bu işlevselliği uygulayabilirsiniz .
driversadece commonkatmandaki arayüzü bilmelidir .