Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Здравствуйте, criosray, Вы писали:
C>>>>>Запредельное? Патерн IoC в управляемых языках реализуется на базовом уровне за минут 40-50 максимум неопытными студентами.
Х>>>>http://code.google.com/p/pococapsule/
C>>Очень-очень примитивно, если сравнивать с Castle Windsor.
ГВ>Ну дык, pococapsule и по объёму чуть не в 10 раз меньше, чем Castle Windsor.
Что тут бочку-то катить?
Кого волнует объем?
ГВ>Тем не менее, в качестве ответа на вопрос об IoC — вполне себе ответ.
Нет, это не ответ. Что толку от такого IoC, если у него кроме самого базового DI и нету больше ничего?
Вот Вы лично пользуетесь PocoCapsule? Наверняка нет, а мы IoC используем на каждом шагу потому, что сильно облегчает жизнь и естественным образом улучшает архитектуру систем.
C>>Где возможность задать Lifecycle?
C>>Где возможность задать Lifestyle?
ГВ>Это уже фичи, которые в тот или иной контейнер могут быть внесены или нет.
Ну покажите мне хоть один контейнер на С++, где были бы эти "фичи". Это, кстати, не просто фичи, а самая основа работы контейнера. Что мне толку от контейнера, если я не могу задать lifestyle компоненты?
C>>Где автоматическая регистрация компонент по шаблону?
ГВ>Можно сделать и так, но понадобится глобальный регистратор всех компонентов, используемых в такой операции.
Ну сделайте. Очень хочу посмотреть. Условия все те же: конфигурирование через конфиг файл. То есть указывается сборки и шаблон, по которому ее сканировать и дальше все делается автоматически контейнером.
C>>Где расширяемость аналогичная Сastle Facilities?
ГВ>Да тоже, вроде бы, ничего сверхъестественного.
Ну нету ведь?
C>>Где интерцепторы???
ГВ>Вот с этим сложнее, но и то, из-за кодогенерации.
Конечно посложнее. И судя по тому, что готовых рабочих решений нету — невыполнимая задача для С++. Так?
ГВ>
ГВ>Ты всё же определись, чего ты хочешь от собеседников: чтобы сделали копию Castle Windsor или MS Unity, продемонстрировали возможный подход или ещё чего-то?
Да, я хочу чтоб мне показали аналог Виндсор, но для С++. Еще я хочу увидеть аналог RhinoMocks.
ГВ>Я надеюсь — ты не просто ищешь повод фыркнуть погромче, верно? Можно написать IoC-контейнер и конфигурируемый, и гибкий, и с обилием других качеств, но это, в общем, довольно объёмная работа. Тот же Castle Windsor, если судить по объёму исходников, ну никак не один и не два человеко-месяца.
Для справки, на дотнет реализаций этих контейнеров уже больше десятка (а то и двух десятков). Почему на вашем столь любом замечательном мощном С++ до сих пор нету ничего подобного? Можете ответить на этот вопрос?