Об абстрактных деревьях
От: adontz Грузия http://adontz.wordpress.com/
Дата: 20.07.05 15:37
Оценка:
Вот есть предположим некоторое множество содержащее разнородные элементы.
Для меня естественно сделать интерфейс IElement с методом GetElementType и в зависимости от того, что вернул метод приводить объект к соответствующему типу (dynamic_cast, QueryInterface или as не суть важно).
Но в Microsoft судя по всему считают по-другому. Уже второй раз сталкиваюсь с идеей, что интерфейс IElement должен содержать не только GetElementType, но и все методы которые только могут понадобится для всех возможных типов элемента.
Примеры:
Интерфейс IDiaSymbol — содержит 94 метода из которых для каждого конкретного типа символа используется 5-8, о чём любезно сообщается в документации.
Интерфейс IVsHierarchy — поддерживает 66 свойств добрая половина которых имеет смысл только для корневого узла, да и оставшаяся половина тоже не всегда целиком используется, о чём любезно сообщается в документации.

Вопрос прост — как на самом деле лучше?
Первый пример — интерфейс к Си++ компилятору, второй — к самой студии.
Не думаю, чтобы на этих направлениях работали второсортные программисты.
Может я не вижу чего-то?
A journey of a thousand miles must begin with a single step © Lau Tsu
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.