Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2010, 11:12   #1
_Tanatos_
Новичок
Джуниор
 
Регистрация: 20.11.2007
Сообщений: 1
Вопрос Наследование vs Интерфейсы в реализации дерева

Уважаемые форумчане, помогите сделать грамотную структуру классов/интерфейсов. Сразу оговорю, что пишу на С#. Код пишу сам, нужна помощь именно в архитектуре.

Есть некое дерево произвольной вложенности, при этом в узлах находятся объекты совершенно различного типа. Примерно как в Outlook когда просматриваешь общее дерево элементов, где все в одну кучу свалено. Основное отличие (если кто лазил в потроха) это то, что в Outlook по сути различие идет только на уровне элементов (задача/заметка/контакт), а сами папки по сути идентичны, а у меня каждый узел может быть уникальным объектом со своими данными и функциями. В будущем предполагаю сделать доступ к функционалу программы извне, видимо так же как и в Outlook посредством интерфейсов - иных вариантов пока не знаю.

У меня на данный момент два варианта решения:
1) Базовый класс CNode (Название узла, Навигация по узлам, Тип для преобразования) и от него наследники реализующие специфику отдельных узлов.
2) Интерфейс узла INode (Название узла, Навигация по узлам, Тип для идентификации, Функция/свойство возвращает интерфейс объекта размещенного в данном узле).

Жду Вашей критики, отзывов, советов. Если у кого-то есть иные идеи тоже с благодарностью выслушаю.
_Tanatos_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
COM-интерфейсы MS Word mitryz Общие вопросы C/C++ 0 04.11.2009 11:18
Интерфейсы. Философия ООП Arhe Помощь студентам 31 17.08.2009 08:37
Интерфейсы Maks1978 Общие вопросы C/C++ 0 29.06.2009 22:11
Интерфейсы MaZaHaKa Общие вопросы Delphi 1 30.11.2008 19:17