Re[6]: попробую уточнить мою задачу
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 17.12.07 18:16
Оценка:
Здравствуйте, AlexandreVN, Вы писали:

G>>А я подумал что нужно что-то типа визуального редактора....

AVN>Так и есть. визуальный редактор справочников, шаблонов, модели документа и т.п.

Ну если это должен быть WYSIWYG редактор (типа MS Word). Тогда описанная мной выше схема подойдет. Хотя я не представляю как такое возможно в вебе.

Если это редактор свойств объектов, собранных в какую-то иерархию (как на рисунке), то вам понадобится отделить дерево (с картинками и надписями) от объектов. Всю работу с визуальным деревом можно возложить на стандартные котролы.
Re[4]: попробую уточнить мою задачу
От: Кирилл Лебедев Россия http://askofen.blogspot.com/
Дата: 18.12.07 10:25
Оценка:
Здравствуйте, AlexandreVN, Вы писали:

AVN>я так понимаю — то что я привязался под конкретный интерфейс уже ошибка?

Конечно. Сегодня Вы хотите, чтобы объекты были доступны пользователю в виде дерева, завтра — в виде "табочек" и списка, послезавтра — в виде грида и т.д. Не стоит же каждый раз, как только у Вас поменяется GUI, изменять архитектуру!

Да и вообще всяких разных представлений может быть много. А вот внутреняя архитектура у Вас должна быть одна.
С уважением,
Кирилл Лебедев
Software Design blog — http://askofen.blogspot.ru/
Re[5]: попробую уточнить мою задачу
От: AlexandreVN Россия  
Дата: 18.12.07 10:58
Оценка:
Здравствуйте, Кирилл Лебедев, Вы писали:

КЛ>Здравствуйте, AlexandreVN, Вы писали:


AVN>>я так понимаю — то что я привязался под конкретный интерфейс уже ошибка?

КЛ>Конечно. Сегодня Вы хотите, чтобы объекты были доступны пользователю в виде дерева, завтра — в виде "табочек" и списка, послезавтра — в виде грида и т.д. Не стоит же каждый раз, как только у Вас поменяется GUI, изменять архитектуру!

КЛ>Да и вообще всяких разных представлений может быть много. А вот внутреняя архитектура у Вас должна быть одна.


а в случае если объект сам по себе логически подразумевает иерархическую структуру?
Re[6]: попробую уточнить мою задачу
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 18.12.07 11:21
Оценка:
Здравствуйте, AlexandreVN, Вы писали:

AVN>а в случае если объект сам по себе логически подразумевает иерархическую структуру?


Например?
Re[7]: попробую уточнить мою задачу
От: AlexandreVN Россия  
Дата: 18.12.07 12:21
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Здравствуйте, AlexandreVN, Вы писали:


AVN>>а в случае если объект сам по себе логически подразумевает иерархическую структуру?


G>Например?


каталог товаров, дерево, тел. справочник и т.п.
Re[6]: попробую уточнить мою задачу
От: Кирилл Лебедев Россия http://askofen.blogspot.com/
Дата: 18.12.07 13:39
Оценка:
Здравствуйте, AlexandreVN, Вы писали:

AVN>а в случае если объект сам по себе логически подразумевает иерархическую структуру?

Структура (в том числе — иерархическая) создается под решение конкретной задачи. Например, для быстрого поиска используются деревья, хэш-таблицы, ячейки и т.д. Бывает, что модулю или программе нужно решать много всяких задач. Соответственно и структур (иерархических) может использоваться тоже много.

В общем, основная мысль такова: структура (ее еще можно называть классификацией) — далеко не абсолют. Поэтому ее лучше отделять от содержимого. Так для ускорения работы БД создаются всякие индексы, которые, на самом деле, тоже можно назвать в некотором роде иерархической структурой — ведь индексы задают другой способ упорядочения информации, которая хранится в БД.
С уважением,
Кирилл Лебедев
Software Design blog — http://askofen.blogspot.ru/
Re[8]: попробую уточнить мою задачу
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 18.12.07 13:50
Оценка: +1
Здравствуйте, AlexandreVN, Вы писали:

AVN>каталог товаров, дерево, тел. справочник и т.п.


Я надеюсь вы не собираетесь обрабатывать каталог товаров как дерево, где каждый узел может быть товаром или категорией (или другим классифицирующий признаком)?
Обычно товары и категории — разные объекты, хранятся и обрабатываются по-разному. При этом каждая категория содержит ссылки на товары, находящиеся в этой категории (а в БД наоборот — товар ссылается на категорию).

Дерево — абстрактный тип данных. А какая иерархия в телефонном справочнике вообще придумать не могу.
Re[9]: попробую уточнить мою задачу
От: AlexandreVN Россия  
Дата: 18.12.07 14:10
Оценка:
G>Я надеюсь вы не собираетесь обрабатывать каталог товаров как дерево, где каждый узел может быть товаром или категорией (или другим классифицирующий признаком)?
G>Обычно товары и категории — разные объекты, хранятся и обрабатываются по-разному. При этом каждая категория содержит ссылки на товары, находящиеся в этой категории (а в БД наоборот — товар ссылается на категорию).
а почему нет? с помощью того же visitor

G>Дерево — абстрактный тип данных. А какая иерархия в телефонном справочнике вообще придумать не могу.

города — > первые буквы имени или округ-> вид организации (услуги) — > номера
да вообщем то неважно. может неудачный пример
Re[7]: попробую уточнить мою задачу
От: AlexandreVN Россия  
Дата: 18.12.07 14:13
Оценка:
Здравствуйте, Кирилл Лебедев, Вы писали:

КЛ>Здравствуйте, AlexandreVN, Вы писали:


AVN>>а в случае если объект сам по себе логически подразумевает иерархическую структуру?

КЛ>Структура (в том числе — иерархическая) создается под решение конкретной задачи. Например, для быстрого поиска используются деревья, хэш-таблицы, ячейки и т.д. Бывает, что модулю или программе нужно решать много всяких задач. Соответственно и структур (иерархических) может использоваться тоже много.

КЛ>В общем, основная мысль такова: структура (ее еще можно называть классификацией) — далеко не абсолют. Поэтому ее лучше отделять от содержимого. Так для ускорения работы БД создаются всякие индексы, которые, на самом деле, тоже можно назвать в некотором роде иерархической структурой — ведь индексы задают другой способ упорядочения информации, которая хранится в БД.


а что если под таким углом — есть объект для хранения объектов в дереве и неважно каких (есть только условие что все они должны обладать рядом свойств необходимых для построения дерева)?
Re[8]: попробую уточнить мою задачу
От: Кирилл Лебедев Россия http://askofen.blogspot.com/
Дата: 18.12.07 14:24
Оценка:
Здравствуйте, AlexandreVN, Вы писали:

AVN>а что если под таким углом — есть объект для хранения объектов в дереве и неважно каких (есть только условие что все они должны обладать рядом свойств необходимых для построения дерева)?

Поисковый индекс.
С уважением,
Кирилл Лебедев
Software Design blog — http://askofen.blogspot.ru/
Re[8]: попробую уточнить мою задачу
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 18.12.07 14:31
Оценка:
Здравствуйте, AlexandreVN, Вы писали:

AVN>а что если под таким углом — есть объект для хранения объектов в дереве и неважно каких (есть только условие что все они должны обладать рядом свойств необходимых для построения дерева)?


Сферический конь в вакууме?

Вы слишком сильно зацикливаетесь на структурах данных.
Re[10]: попробую уточнить мою задачу
От: Кирилл Лебедев Россия http://askofen.blogspot.com/
Дата: 18.12.07 14:32
Оценка: +1
Здравствуйте, AlexandreVN, Вы писали:

AVN>города — > первые буквы имени или округ-> вид организации (услуги) — > номера

AVN>да вообщем то неважно. может неудачный пример
А позже Вам потребуются другие классификации:


Следует добавить, что одна и та же организация:


Что же теперь выходит — переделывать архитектуру программы каждый раз, когда появится новый критерий для классификации?

Разумнее, поступить по-другому — для каждого критерия создать свой индекс и хранить его отдельно. А архитектуру не завязывать на индексы.
С уважением,
Кирилл Лебедев
Software Design blog — http://askofen.blogspot.ru/
Re[9]: попробую уточнить мою задачу
От: AlexandreVN Россия  
Дата: 18.12.07 14:37
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Здравствуйте, AlexandreVN, Вы писали:


AVN>>а что если под таким углом — есть объект для хранения объектов в дереве и неважно каких (есть только условие что все они должны обладать рядом свойств необходимых для построения дерева)?


G>Сферический конь в вакууме?


G>Вы слишком сильно зацикливаетесь на структурах данных.


есть такое (
Re[9]: попробую уточнить мою задачу
От: AlexandreVN Россия  
Дата: 18.12.07 14:38
Оценка:
Здравствуйте, Кирилл Лебедев, Вы писали:

КЛ>Здравствуйте, AlexandreVN, Вы писали:


AVN>>а что если под таким углом — есть объект для хранения объектов в дереве и неважно каких (есть только условие что все они должны обладать рядом свойств необходимых для построения дерева)?

КЛ>Поисковый индекс.

я запутался. что вы подразумеваете под индексами?
Re[10]: попробую уточнить мою задачу
От: Кирилл Лебедев Россия http://askofen.blogspot.com/
Дата: 18.12.07 15:10
Оценка:
Здравствуйте, AlexandreVN, Вы писали:

AVN>я запутался. что вы подразумеваете под индексами?

Любая классификация, фактически, и есть поисковый индекс. Если Вы пойдете в какую-нибудь крупную библиотеку, то увидите, что там есть, как минимум, два вида каталогов:


Каталоги располагаются отдельно и не привязаны к объектам (книгам), т.е. в каталогах находятся не книги, а карточки (ссылки на книги). Сами же книги находятся в хранилище и заказываются по ссылкам из каталога.

Ваше дерево — это такой же каталог. Он должен содержать ссылки на объекты (например, их IDs), но не сами объекты, т.к. каталогов (индексов) можно наделать, сколько будет душе угодно.
С уважением,
Кирилл Лебедев
Software Design blog — http://askofen.blogspot.ru/
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.