Я использую Виндзорский замок много в проекте я работаю над и использовать декоратор немного, так что я мог бы иметь что-то подобное в моем инсталлятореЕсть ли способ явным образом регистрировать открытые общие декоратор с Виндзорским замком
Component.For<IMyViewModelService>().ImplementedBy<MyViewModelServiceCacheDecorator>().LifestyleTransient()
Component.For<IMyViewModelService>().ImplementedBy<MyViewModelService>().LifestyleTransient()
Так что делать это достаточно легко и хорошо работает. Я начал читать вокруг простой инфраструктуры инжектора, и мне очень нравится, что вы можете специально установить декораторы на открытых дженериках при использовании шаблона команды.
https://simpleinjector.readthedocs.org/en/latest/advanced.html#decorators
ли Виндзорский замок иметь любую функциональность, которая позволяет вам делать то же самое в этом декларативно? Я использую замок windsor 3.3 и всегда остаюсь с последним.
Я вижу этот вопрос, который вроде похож, но не имеет полного результата registering open generic decorators for typed implementations in castle windsor
Я прочитал несколько вопросов о Stackoverflow об общих декораторах с Castle ([здесь] (https://stackoverflow.com/questions/26387133), [здесь] (https://stackoverflow.com/questions/24084504/), [здесь] (https://stackoverflow.com/questions/17087489)), и Castle по-прежнему не имеет никакой хорошей поддержки для этого, и вместо этого они рекомендуют перехватчики (yuck !!). Тем не менее, последний ответ, который я мог найти у Кшиштофа Козьмича [датируется сентябрем сентября] (https://stackoverflow.com/questions/12637216/how-can-i-register-a-generic-decorator-using-castle-windsor), поэтому я не уверен, что это все еще точно. – Steven
Но если Simple Injector поддерживает вашу архитектуру, но Castle не делает, зачем придерживаться Castle? – Steven
Очень хороший момент, слишком большое усилие, чтобы измениться в этот момент в проекте, получив покупку за перемену, которая, вероятно, займет 2-3 человеко-дня. Я не уверен, что смогу качать. Это дает мне массу боеприпасов, говорящих, что мы не должны использовать Castle для будущих проектов. Для записи мне нравится ваш простой инжектор намного больше, документы также потрясающие! – Neil