Показать сообщение отдельно
Старый 04.06.2017, 23:06   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от mazzy Посмотреть сообщение
технология на атрибутах требует двойных-тройных трудозатрат.
чтобы не быть голословным.
по существующей технологии - для того, чтобы помечать атрибутом, нужно создать класс атрибута и прописать как параметры будут преобразованы в ключ.

всего сейчас 83 потомка от SysExtensionAttribute.
3 из них универсальные - enum, menuItem, dataset.
остальные - как правило просто специализированные классы для enum'ов. (почему не универсальный FormEnumSymbolFactoryAttribute? а ХЗ. универсальный класс сейчас используется только в 8 местах)

так вот, получается, чтобы работать по текущим рекомендациям с атрибутами, нужно:
= создать сам класс и встроить его в иерархию
= разобраться с классом атрибутов и встроить туда (или создать класс атрибутов)
= разобраться с фабрикой и встроить туда
= добавить menuItem, если нужно дать функционал пользователю, разобраться как menuItem должен запустить нужный класс

плюс работа, которой никогда нет в МС, но частенько бывает на проекте - решить что делать с функционалом, который добавлен разными партенрами. раньше пересечения нужно было искать только в construct. теперь пересечения нужно искать по разнообразным семействам - классы, атрибуты, стратегии инстанцирования, menuItem.
Миниатюры
Нажмите на изображение для увеличения
Название: 1.PNG
Просмотров: 366
Размер:	61.2 Кб
ID:	11471   Нажмите на изображение для увеличения
Название: 2.PNG
Просмотров: 263
Размер:	37.4 Кб
ID:	11472  

__________________
полезное на axForum, github, vk, coub.