INotifyPropertyChanged: AoP или IoC / DI? - PullRequest
3 голосов
/ 15 января 2010

Я застрял, и я был бы признателен за ваше мнение по этому вопросу. Я хочу реализовать INotifyPropertyChanged для моих организаций. Я не могу понять, какой путь лучше и почему. Единственное очевидное отличие для меня заключается в том, что AoP немного быстрее, поскольку все выполняется во время компиляции, в то время как с помощью IoC / DI легче изменить поведение. Так какой из них вы бы использовали (или использовали в прошлом) и почему?

Спасибо.

Пожалуйста, перефразируйте мой вопрос, я не являюсь носителем языка

1 Ответ

1 голос
/ 15 января 2010

Как правило, если вы хотите обеспечить прозрачное управление поведением во многих различных классах, лучше всего использовать AOP. Часто AOP может быть настроен через DI / IoC, поэтому эти два не являются взаимоисключающими. Без точного понимания, какую технологию вы используете, я не могу дать более конкретного совета, чем этот. В Java, например, я бы использовал DI-фреймворк, такой как Spring, в сочетании с AspectJ, чтобы настроить это. Я не уверен, что эквивалентные технологии в .NET.

Имейте в виду, что вы заплатите штраф за производительность, если внедрите поведение во многие мелкозернистые объекты в своем приложении, поэтому вы можете подумать, стоит ли использовать эту функцию для снижения производительности. К счастью, одним из преимуществ AOP является то, что вы можете довольно легко включить / отключить pointcut, что позволит вам измерить разницу в производительности.

...