Blog: Alter World

Виртуальный мир является своеобразным Alter Ego мира реального…

Общее и частное

Комментариев нет 17 июля 2008, 02:07 • Разное

Так уж получилось, что я немного программирую. И каждый раз, когда мне нужно написать какой-либо дополнительный модуль для сайта или видоизменить уже имеющийся, я задаюсь вопросом: "А нельзя ли все было сразу сделать универсальным? "

С одной стороны универсальное решение сделать можно. И сравнительно просто. Но с другой стороны заранее предсказать что именно потребуется довольно трудно. Поэтому общие решения при создании CMS как правило скатываются до частно-общих.

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

На данный момент времени у меня имеется опыт создания двух CMS — BackOffice и SkyOffice. На базе BackOffice работает довольно большая часть факультетского сайта (весь он на BackOffice скорее всего никогда переведен не будет из-за нескольких идеологических и технологических причин). Сам по себе BackOffice «исповедует» использование частных случаев создания структур данных (для разного типа страниц свои управляющие скрипты). В случае SkyOffice — на нем сейчас работает часть астрономического сайта — я постарался сделать реализацию «общей» (хотя и та, и другая CMS все еще разрабатываются, но они уже вполне работоспобны). Сейчас на SkyOffice благодаря такому общему подходу можно развернуть не сильно большой сайт общей направленности (несколько сотен страниц). Вот только кое-что придется делать по нескольку раз. Например, в случае вида страницы, как этой придется список ссылок на связанные статьи вбивать вручную. Если эти же ссылки (часть из них) будут связанными для другой страницы, то их тоже придется вбивать вручную. Что не очень хорошо. Частное, узкоспециализированное решение дало бы здесь лучший результат.

Придется еще раз все хорошо обдумать и перепроектировать CMS SkyOffice таким образом, чтобы соблюсти компромисс между общим и специализированным решением. По крайней мере для развертывания конечного числа типов сайтов.

Ещё заметки на эту тему:

Комментариев нет

Вы можете подписаться на комментарии к этой статье через RSS или отправить к ней TrackBack.

Оставить свое мнение

XHTML: Вы можете использовать эти тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>