Bu çoğunlukla fikir tabanlı olduğunu düşünüyorum, ama yine de benim 2p koyacağım.
Her zaman yaptığım gibi, kendime, kodumun yapması gereken şeyi yapmak için sahip olması gereken minimum bilgi miktarı nedir?
Kodum yalnızca gelen kodu kullanıyorsa Other team's library, yalnızca Other team's librarybağımlılık olarak dahil edeceğim .
Kodum da kodu kullanıyorsa Third-party library, ben de dahil edeceğim.
Diyelim ben şu sınıfları vardı ki My Library, Other Libraryve Third-party Library(ı örnek kodu için Java kullanacağız)
package mylibrary;
import otherlibrary.Bar;
public class Foo {
public void doFoo() {
Bar bar = new Bar();
bar.doBar();
}
}
İçinde Other Library
package otherlibrary;
import thirdparty.Baz;
public class Bar {
public void doBar() {
Baz baz = new Baz();
baz.doSomething();
}
}
İçinde Third-party library
package thirdparty;
public class Baz {
public void doBaz() {
System.out.println("baz");
}
}
Çünkü benim kod Foosadece gelen kod bağlıdır, otherlibraryben dahil tüm budur, çünkü tüm umurumda bu. Ne yaparsa yapsın umrumda değil otherlibrary.Bar#doBar, sadece yapmasını istiyorum.
Ancak, biz değişti otherlibrary.Bar#doBarbir kabul etmek Bazgibi bir ilgisi
public void doBar(Baz baz) {
baz.doBaz();
}
Sonra mylibrary.Foo#doFooböyle bir şeye geçmem gerekecek
public void doFoo() {
Bar bar = new Bar();
Baz baz = new Baz();
bar.doBar(baz);
}
Şimdi nasıl ilgilenen ediyorum Çünkü Bar#doBaronun şey için gidiyor ve benim kod ihtiyacı hakkında bilmek Bazbunu yapmak istediğini yapmak, ben dahil kütüphaneler konusunda açık olmak gerekir.
Benim kod Eğer gerekir içindeki şeyleri gösterebilir thirdpartykütüphane, o zaman gerekir bir bağımlılık olarak dahil edin.
Belki de yazarı Barbu detaylardan daha fazlasını gizlemesine rağmen , thirdpartykütüphaneyi dahil etmeme gerek yok ...
thirdypartysürüm 4 ile başlar ve sürüm 3otherlibrarygerekiyorsa, millet bu konuda ne yapıyorsun?