Почему люди говорят о структурах DI "создание экземпляра графа объекта", а не "создание объекта"? - PullRequest
6 голосов
/ 28 марта 2010

Я читаю книгу о DI, в которой всегда говорится о DI-фреймворках "создание экземпляра графа объектов". Зачем говорить это так, а не "создавать объекты"?

Ответы [ 3 ]

5 голосов
/ 28 марта 2010

Граф объектов состоит из объектов, которые содержат ссылки друг на друга. Другое название графа в этом контексте - сеть.

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

3 голосов
/ 28 марта 2010

Термин «граф объектов» подразумевает, что у вас есть набор объектов, которые будут созданы одновременно. Использование этого термина может помочь провести различие между шаблоном Dependency Injection (где вы обычно будете ссылаться только на структуру DI в одном месте) и шаблоном Service Locator (где вы будете его использовать для создания / доступа к объектам в нескольких местах в вашем приложении).

2 голосов
/ 28 марта 2010

График представляет собой набор взаимосвязанных объектов. Таким образом, его создание может представлять собой создание нескольких отдельных объектов.

Чтобы отличить создание одного объекта от создания набора объектов, мы используем термин «граф объектов». Это помогает сообщить о масштабе операции Resolve.

...