Как мог вызывающий из контейнера IOC не знать детали его инъекции - PullRequest
0 голосов
/ 13 марта 2019

Существует мнение, что в контейнере IOC объект не должен ссылаться на другую зависимость сам по себе, контейнер IOC поможет внедрить зависимость в объект вызывающей стороны, и вызывающей стороне даже не нужно знать, кто такая зависимость, какая деталь у него.

Мой вопрос: код написан человеком, он или она должен знать все детали звонящего и зависимости. мы пишем:

class A:
void foo() {
    B.bar();
}

тогда пишем:

class B:
void bar() {
    doSomething();
}

мы определенно знаем, что в классе B есть функция, сформированная как bar (), она называется bar и не имеет аргументов, и мы точно знаем, что делает функция или что она будет возвращать, как мы не могли ничего не знать о зависимости?

...