Создание классовой модели рядового сайта

Автор статьи: Беляев Александр aka gid ©
Сайт Автора: gid.gorodok.net
E-mail Автора: gid87@mail.ru
Дата публикации: 24.05.2006

Эта мысль возникла у меня совершенно случайно, но думаю, она вам будет интересна. Смысл всей идеи заключается в создании сайта, написанного на PHP или на другом объектно-ориентированном языке, но написанного не с помощью последовательностей операторов, а профессионально, применяя классовые модели. Т.е. каждый элемент сайта, будь то меню сайта, панель навигации, содержание и т.д. является отдельным классом, который формируется внутри другого – более главного и т.д., в результате мы получим неограниченный ни чем контроль над созданием и формированием вывода в браузер.

Единственное препятствие на пути к этому – это создание общей модели класса, на основе которой будут создаваться все элементы сайта. Сложность заключается не в самом написании общей структуры класса, а в изменяемости его задач по ходу разработки новых приложений для сайта. Т.е. если вам вдруг понадобится изменить/добавить/удалить какую-либо функцию в базовом классе, то вам придется переписывать абсолютно все уже написанные до этого классы.

На первый взгляд написание подобного класса выглядит очень просто: пара констант, в которых содержатся общие сведения о классе необходимые разработчику, несколько функций, отвечающих за ввод и вывод данных в классе и одна или две переменных в которых хранится результат выполнения какой-либо операций внутри класса. На самом деле вопрос стоит куда шире: Как сделать так, чтобы с течением времени структура класса не устарела? Как сделать так, чтобы не пришлось переписывать все заново? Определенного ответа на этот вопрос нет, т.к. написать идеальную во всех отношениях программу не удалось еще никому и это факт. Можно лишь сделать предположение, как сделать модель класса, более-менее устойчивую к течению времени, и то, нет никаких гарантий, что эта модель не устареет уже завтра, с веянием новых технологий или направлений в программировании.

В качестве заключения хотелось бы рассказать о приблизительных перспективах развития этого направления в программировании.

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

Еще одна категория заинтересованных лиц в этой технологии – это студии по созданию сайтов, вы только представьте: безопасность, простота, наглядность и понятность кода, и конечно, возможность не заниматься написанием базы сайта, а строить уже на заложенном фундаменте.

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

ps
Эта статья ни на что не претендует, это просто изложение моих мыслей по этой теме.
pps
Если у кого ни будь появиться желание попробовать создать нечто подобное, то можно попробовать организовать сайт или форум, посвященный этой теме, как мне кажется, найдется немало единомышленников с достаточным опытом в программировании, которые заинтересуются идеей создания общей модели построения сайтов на основе единой классовой структуры.