Эта тема на forum.dklab.ru


alTus: Проектирование скрипта каталога
Попользовал поиск (причем не только здесь), но что-то ничего полезного не обнаружил.
Собственно проблема такова:

имеется желание, а также необходимость=), создания скрипта, точнее даже системы - это что-то типа универсального каталога - разделы, элементы, для разделов - произвольная степень вложенности, ну и все стандартные "навороты". Основной мой критерий - использование ООП - ну и опыта в этом деле понабраться и вообще =)

Я думаю здесь многие имели опыт проектирования систем уже не самого элементарного и начального уровня, поэтому и хотел бы уточнить каким образом лучше спроектировать эту систему.

С одной стороны хотелось бы возможности расширения и сравнительно легкого редактирования, с другой - не "перебарщивания" с этим.
Т.е., например, рассчитывать только на использование БД, но не файлов.

А теперь конкретно.
Есть следущие классы (как набросок):

C_Section // раздел
C_SectionList // список разделов
C_Element // элемент
C_ElementList // список эл.
+ если понадобятся дополнительные - например для голосований по элементам (их оценки), возможностей комментирования
C_Templater // "шаблонизатор"
C_User // для аутенфикационной системы
C_Error // для обработки ошибок


Так вот, как же можно организовать связи между ними наилучшим образом?
Как основные моменты хотелось бы отметить !обработку ошибок, шаблонную систему, возможно кэширование, ну и связь с аутенфикацией.

Возможно я мог упустить что-то из виду, так что надеюсь в этом случае что вы дополните меня.

Спасибо за внимание к моему черезчур длинному посту)
alTus:
Не то чтобы выражаю недовольство, но всё-таки интересно неужто никто не может компетентно выразить своё мнение или идею по заданному вопросу?
Если я выразился немного туманно, то извиняйте - могу уточнить, если непонятно.
amikhailov:
А вы начните со спецификации каждого класса. Какой абстрактный тип данных класс являет собой, какие методы необходимы классу и т.д. Подумайте, может быть какие-то классы будут наследовать одного предка.
Задача очень абстрактная, мало входных данных. Поэтому трудно что-то конкретное посоветовать.
Юра Скляр:
а вы начните с чего-то. идеи сами начнут появляться.

а в итоге вам все равно все захочется переделать ))))))))))))))))))
JC_Piligrim:
C_Section // раздел
C_SectionList // список разделов
C_Element // элемент
C_ElementList // список эл.

По-моему, несколько лишнее дублирование кода. Думаю, лучше сделать "объект-контейнер" и "объект-список", а уж от них наследовать Section'ы и Element'ы... (Поскольку разница невелика - отличие раздела от элемента, по большому счету в том, что раздел содержит, помимо атрибутов еще и другие элементы, а элементы - атрибуты, но не другие элементы (аналогия с файлами и директория: директория этот тот же файл, только помеченный спецатрибутом и содержащий инфу о других файлах)). Впрочем, Вам виднее.

Эта тема на forum.dklab.ru