Как стать автором
Обновить

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

Как вариант, механизм контроля доступа можно реализовать в виде экранирующих прокси-объектов (Proxy pattern) перед доменными моделями, зависимых от некого сервисного обьекта (Singleton pattern, Object pool).

В этом случае, изменения в доменных моделях будут минимальны.
Спасибо. Я думаю, я собрался использовать сервис как прокси)
За контроль доступа отвечает именно сервис, а прокси лишь перехватываю обращения к защищаемым доменным моделям, чтобы спросить разрешение у сервиса. Сервис хранит у себя список контроля доступа, в котором ваши доменные модели станут ресурсами, а методы и свойства ― привилегиями.

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

Основная идея, что к методу/функции можно довешивать «сбоку» дополнительный функционал. Попробуйте поискать существующую библиотеку АОП, а не писать собственный «велосипед».
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории