2013-06-12 3 views
0

У strucutremap есть перехват capabitlities, зачем мне нужна другая библиотека, например, замок Windsor? есть ли родной путь от структуры map, чтобы сделать это?Имеет ли strucutremap перехват capabitlities, зачем мне нужна другая библиотекари, например, замок виндзора?

AOP Logging with StructureMap - аналогичный вопрос, но ответ возвращается обратно к прокси-серверу замка.

благодаря

+0

Все рамки IOC используют ту же библиотеку Castle.Proxy2 с открытым исходным кодом. Замок Виндзор также зависит от Castle.Proxy2, поэтому в некотором смысле Windsor не имеет «родной» поддержки. – Steven

+0

да .. теперь его castle.core –

+0

Так в чем проблема? StructureMap не построил свою собственную библиотеку перехвата, потому что там была отличная библиотека перехвата и ее повторно использовали. Нативный способ сделать это со структурой карты - использовать Castle.Proxy2. – Steven

ответ

0

The documentation отвечает на этот:

StructureMap 2.5+ добавлена ​​возможность постобработки или даже перехватывать и заменить объекты создаются. Хотя StructureMap никогда не включать в свой Aspect Oriented модель программирования (мир не нужен новый), методы перехвата, приведенные ниже, могут быть использованы применять во время выполнения АОП из существующих инструментов АОП как политики Injection Application Block от Microsoft.

В общем, перехват задается тремя способами:

1) OnCreation() - Регистрирует действий для запуска против нового объекта после создания

2) EnrichWith() - Регистрирует Func, который работает против новый объект после создания и дает вам возможность вернуть другой объект, кроме исходного объекта

3) Пользовательский класс, который реализует интерфейс (модель времени выполнения позади всех методов перехвата)

Вкратце, функции перехвата StructureMap связаны с управлением или заменой сконфигурированных объектов в контейнере, не применяя перехват стиля AOP.

Итак, подведем итог:

делает strucutremap имеет перехвату capabitlities

Да, но не для АОП стиле перехвате

почему я нужен другой библиотеки как Виндзорский замок для что?

Поскольку AOP не имеет возможности для архитектуры StructureMap. Есть уже много хороших решений (включая Castle Proxy).