Лучшие методы МОК в крупных проектах

Какие методы Вы нашли полезными для руководящих зависимостей крупных проектов с Инверсией контейнеров Управления?

Вы загружаете все в одном месте, или Вы разделяете его?

Вы когда-либо используете несколько контейнеров?

7
задан Jon Seigel 18 May 2010 в 03:03
поделиться

1 ответ

С архитектурной точки зрения важно сохранять четкое внимание к тому, где находится ваш корень композиции . Он должен быть как можно ближе к точке входа приложения, и вам следует собрать весь граф зависимостей в одном месте.

В противном случае может возникнуть путаница в отношении обязанностей, а также вы рискуете внести всевозможные тонкие ошибки, потому что экземпляр IFoo, разрешенный в одном месте, может быть или не совпадать с экземпляром IFoo, разрешенным в другом месте.

Если приложение настолько велико, что разрешение всего графа зависимостей за один раз просто непомерно дорого, вы можете решить эту проблему, используя время жизни отложенной загрузки в стратегических местах (около Aggregate Services ]).

По идее, у меня всегда есть только один контейнер . (Иногда у меня задействовано несколько родительских / дочерних контейнеров, чтобы нарушить некоторые циклические зависимости, но это деталь реализации.)

8
ответ дан 7 December 2019 в 05:21
поделиться