Я ищу интересные аспекты PostSharp - все, что вы сочтете полезным, и не против совместного использования.
Прохладные аспекты PostSharp
Ответ 1
Самый крутой момент для меня в том, что он может помочь мне реализовать принцип единой ответственности:
"В объектно-ориентированном программировании принцип единой ответственности гласит, что каждый объект должен иметь одну ответственность и что все его службы должны быть узко согласованы с этой ответственностью".
Я надеюсь принять это более полно с большим опытом в будущем, но на данный момент я только начал с того, что он был встроен в мои потребности в регистрации:
вместе с Log4PostSharp, я могу сделать:
[Log(LogLevel.Info, "Counting characters.")]
int CountCharacters(string arg) {
return arg.Length;
}
Это означает, что ответственность за регистрацию приписывается в другом месте (кодирование мудрым) и вводится из отдельного источника с помощью магии PostSharp и Log4PostSharp.
Ответ 2
Д. У Патрика Колдуэлла есть интересные идеи в его блоге.
Проверка параметров с использованием атрибутов и PostSharp http://dpatrickcaldwell.blogspot.com/2009/03/validate-parameters-using-attributes.html
- Подписание контрактов кодирования с использованием PostSharp.
Атрибут Memoizer с использованием PostSharp http://dpatrickcaldwell.blogspot.com/2009/02/memoizer-attribute-using-postsharp.html
- В принципе, легкий механизм кэширования значения поля.
Ответ 3
Глупый вопрос, но разве это не цель Каталог вкладов?
Существует пример автоматической реализации изменения свойств - INotifyPropertyChanged.