|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.05.2010, 11:12 | #1 |
Новичок
Джуниор
Регистрация: 20.11.2007
Сообщений: 1
|
Наследование vs Интерфейсы в реализации дерева
Уважаемые форумчане, помогите сделать грамотную структуру классов/интерфейсов. Сразу оговорю, что пишу на С#. Код пишу сам, нужна помощь именно в архитектуре.
Есть некое дерево произвольной вложенности, при этом в узлах находятся объекты совершенно различного типа. Примерно как в Outlook когда просматриваешь общее дерево элементов, где все в одну кучу свалено. Основное отличие (если кто лазил в потроха) это то, что в Outlook по сути различие идет только на уровне элементов (задача/заметка/контакт), а сами папки по сути идентичны, а у меня каждый узел может быть уникальным объектом со своими данными и функциями. В будущем предполагаю сделать доступ к функционалу программы извне, видимо так же как и в Outlook посредством интерфейсов - иных вариантов пока не знаю. У меня на данный момент два варианта решения: 1) Базовый класс CNode (Название узла, Навигация по узлам, Тип для преобразования) и от него наследники реализующие специфику отдельных узлов. 2) Интерфейс узла INode (Название узла, Навигация по узлам, Тип для идентификации, Функция/свойство возвращает интерфейс объекта размещенного в данном узле). Жду Вашей критики, отзывов, советов. Если у кого-то есть иные идеи тоже с благодарностью выслушаю. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |