Pull to refresh

Comments 13

А где описание основных принципов аспектно ориентированного программирования? Было бы проще понят что такое аспект и с чем его едят.
с чего вы взяли, что автор что-то знает об АОП?
в таком случае будет совет автору почитать про АОП.
Тогда возможно стоит начать с АОП, плюс показать небольшой пример реализации.
В данной статье я давал общее упрощённое понимание функционирования атрибутов. Аспектно ориентированное программирование конечно очень хорошая штука, но цель написания статьи была только в том чтобы дать начальное понимание для САМОСТОЯТЕЛЬНОГО углублённого изучения атрибутов (в случае необходимости или интереса).
>.А теперь унаследовавшись от этого класса и задав новому классу другое значение атрибута при вызове метода мы получим массив нужной размерности.

Из статьи вообще непонятно зачем нужны атрибуты, т.к. то же самое можно получить на порядок проще, исспользуя обычные переменные или параметры.
Создается ощущение, что автор так и не понял, зачем нужны атрибуты.
АОП можно не затрагивать совсем в такой статье, но:
В такой статье надо было еще написать о разных атрибутах для атрибутов, это немаловажный фактор. Еще примеры надо было привести, когда идет множественное применение атрибутов, как они могут наследоваться, как этим управлять. Подводные камни с атрибутами какие могут быть. И так далее по теме. А это даже не статья и не заметка, а писанина на полях тетрадки.

Значение атрибута невозможно изменять в процессе выполнения кода, так как значения их свойств хранятся в виде констант в скомпилированном модуле

Очень интересно, как автор представляет себе хранение констант в скомпилированном модуле?
Аргументы конструктора атрибута лежат в метаинформации (причём там ряд ограничений на то, что может быть его аргументом: числа, строки, TypeInfo) и передаются ему привызове GetCustomAttributes для сопоставленной сущности, причём при каждом вызове. Соответственно, очень проблематично повлиять на изменения логики поведения атрибута при дальнейших вызовах без поддержки со стороны кода самого атрибута.
Нуууу. Очень приятно что данная статья вызвала столько отзывов. Я даже не думал что кто-то настолько много может ожидать от первой статьи за хабре) Простите за мою короткую статью, но всё таки считаю что для начального понимания что такое Атрибут и как начать с ним работать её достаточно. На мой взгляд, прочитав подобную статью и не имея понятие что такое атрибут мне в разы легче было бы с ними разобраться. Я конечно же понимаю что все кто указал на недочёты в этой статье очень грамотные люди, которые пишут свои атрибуты и работают с ними буквально ежедневно. И разумеется, начальный пример стоило дать на примере какой нибудь программы для генерации разметки с кодом на 3 страницы с кучей XML разметки. Приношу свои глубочайшие извинения за то, что в начале статьи я не вставил красивую картинку :)

А теперь без шуток.

Я понял что ожидания от подобной статьи очень высокие и постараюсь, в одной из будущих статей раскрыть этот вопрос подробнее с учётом ваших пожеланий. К сожалению это потребует некоторого времени и работы с литературой для более или менее информативного поста с учётом всех запросов.
Sign up to leave a comment.

Articles