понедельник, 15 декабря 2008 г.

CesarObject

Основа системы - глобальный суперкласс CesarObject, свойства которого наследуют все остальные объекты создаваемые пользователями в системе Cesar. Он определяет структуру всех остальных данных и систему взаимоотношений между ними. Все остальные объекты происходят от него. 
Любой объект в системе идентифицируется на основе даты создания и имени
Объект может быть модифицирован любым пользователем имеющим на это разрешения. Не может меняться название объекта, его дата и автор.
CesarObject хранит основные данные объекта:
  • Автор, текущий собственник - ссылка на объекты типа User
  • Дата создания объекта
  • Название объекта
  • Текущее состояние объекта (создан/неутвержден, свободный, редактируется, удален/в работе не учавствует*)
  • Объект родитель - ссылка
  • Массив ссылок на дочерних объектов
  •  Список разрешенные действия над объектом для каждого из пользователей (примечание: в списке храняться пары ссылок пользователь - битовый массив разрешений по мере добавления новых пользователей, которым разрешены действия над данным объектом. Ссылки на пользователей, которым полностью закрыт доступ не храняться в данном массиве).
*Предпологается, что объекты не удаляются, выставляется лишь статус объекта.

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

Отправить комментарий