Я не уверен, что действительно понимаю управление зависимостями. Значит ли это, что вы не зависите от деталей другого класса? Это не значит, что вы не имеете ничего общего с правильным вызовом? Я продолжаю слышать, чтобы сделать меньший более конкретный класс, но они не могут зависеть друг от друга, и это кажется мне невозможным. Может кто-нибудь попытается просто объяснить это мне. Я приведу несколько примеров ниже.
//Bad Dependency
public class TestOne
{
TestTwo testTwo;
public void TestOneMethod()
{
testTwo = new TestTwo();
testTwo.SomeProperty = "Value";
testTwo.SomeMethodThatWorksWithSomeProperty();
}
}
//Bad dependency??
public class TestOne
{
TestTwo testTwo;
public void TestOneMethod()
{
int myInt = 0;
TestThree testThree = new TestThree();
//... Some Code that works with testThree
testTwo = new TestTwo();
myInt = testTwo.GetSomeInteger(testThree);
}
}
Может быть только набор настроек для каждого запуска, так почему я хочу продолжать использовать базу данных каждый раз, когда вызывается новый класс ?? Это плохая зависимость
public static class Application
{
public static int SomeSetting = 0;
public static GetSettingsFromDatabase()
{
//loads the settings for this store
DatabaseClass dbClass = DatabaseClassDataSource.LoadForStore();
SomeSetting = dbClass.SomeSetting;
}
}
public class MyClass
{
public void MethodOne()
{
if(Application.SomeSetting == 1) { //... }
}
}
public class MyClassTwo
{
public void MethodOne()
{
if(Application.SomeSetting == 1) { //... }
}
}