Общие положения архитектуры некоторй модели CMS Server

  • Автор темы PhpGuest
  • Дата начала

PhpGuest

Guest
Общие положения архитектуры некоторй модели CMS Server

Выставляю для ознакомления (или на критику) следующую модель:

Основные положения концепции архитектуры построения сайта в рамках некоторой модели CMS Server

Общая концепция структуры сайта:

1) Сайт состоит из разделов.
2) Каждый раздел представляет собой объект определенного класса, который называется базовым модулем раздела (БМР).
3) БМР реализует всю логику работы раздела.
4) Объекты БМР имеют доступ только к своим данным. Чтобы получить/передать данные из/в другого раздела (объекта БМР) они должны вызывать соответствующие интерфейсные функции соответствующих объектов БМР, если такие функции определены (Т.е. объекты БМР не могут обращаться напрямую к данным других объектов БМР).
5) Класс БМР поддерживает идентификацию пользователя и позволяет управлять правами доступа к разделу.
6) Каждый раздел (объект БМР) имеет свой уникальный идентификатор.
7) Разделы сайта образуют дерево.
8) Обращение к разделу происходит через URL вида http://domain.dn/section1/sectionN/ где section1/sectionN – задают путь к разделу
9) Страницы раздела представляют собой поля (объекты других подклассов или просто методы) БМР.
10) Обращение к странице раздела происходит через URL вида
http://domain.dn/section1/sectionN/pageN.html


Базовый набор интерфейсных методов БМР:

Конструктор Setup(toSectionID) - вызывается сервером при создании объекта класса БМР (т.е. при попытке создания раздела)
ToSectionID – идентификатор раздела который должен быть создан

Деструктор Uninstall(SectionID) – вызывается при попытке удаления объекта БМР (т.е. при попытке удаления раздела)
SectionID – идентификатор удаляемого раздела

Show(page) - Метод, вызывается сервером при необходимости отобразить содержимое раздела.
page – имя страницы раздела, которую запросил пользователь.

(т.е. например по запросу http://domain.dn/section1/sectionN/pageN.html будет вызван метод Show(page=’pageN’) объекта БМР соответствующего разделу, имеющему указанный адрес)

Edit(page) – вызывается при необходимости редактирования содержимого раздела.
page – имя страницы редактора

(т.е. например при запросе страницы: http://domain.dn/section1/sectionN/.edit / будет вызван метод Edit(page=’’) объекта БМР соответствующего разделу, имеющему указанный адрес. Здесь .edit – некоторое зарезервированное имя в URL показывающего что вызывается режим редактирования содержимого раздела)
 
Сверху