iceman
говнокодер
Со временем в системе появляется большая потребность в фоновых процессах.
Процессы которые не требуют участия (онлайн) пользователя, работают они в основном на данных введенных им в прошлом (офлайн).
В общем проблема такая, логика процесса может не соответствовать настройкам системы (например, система очень гибкая, как админ настроил так и работает). Фоновый процесс должен произвести какое то действие над объектами сущности, выбрав их по "определенному" критерию, но у процесса есть свои правила над содержанием этой сущности. Например администратор настроил не обязательный ввод каких либо полей, пользователь их соответственно не вбил, а процесс их требует. получается разногласие.
Решение - на первый взгляд, простое - навесить какие-либо валидаторы, которые программным путем, на основе логики работы этого процесса и при определенных обстоятельствах, не дают юзеру произвести какое-либо действие, которое противоречит логике. т.е. плюем на настройки администратора и сами заставляем юзера вбить или выбрать определенные данные. Но тут вытекает проблема - со временем об этом все забудут, и может произойти так, что логику процесса подправят, а логику валидатора - нет. А так же потребность в таких процессах возрастает, а значит вероятность ошибки тоже.
Т.е. нужно как то для программиста обеспечить видимость того, что используется фоновый процесс (решение - все методы в одном классе, плагине\хендлер) и ограничить его в возможностях (т.е. чтобы не запихнули всякую чушь в этот плагин).
Может есть какие-нибудь паттерны, решающие мою задачу?
Процессы которые не требуют участия (онлайн) пользователя, работают они в основном на данных введенных им в прошлом (офлайн).
В общем проблема такая, логика процесса может не соответствовать настройкам системы (например, система очень гибкая, как админ настроил так и работает). Фоновый процесс должен произвести какое то действие над объектами сущности, выбрав их по "определенному" критерию, но у процесса есть свои правила над содержанием этой сущности. Например администратор настроил не обязательный ввод каких либо полей, пользователь их соответственно не вбил, а процесс их требует. получается разногласие.
Решение - на первый взгляд, простое - навесить какие-либо валидаторы, которые программным путем, на основе логики работы этого процесса и при определенных обстоятельствах, не дают юзеру произвести какое-либо действие, которое противоречит логике. т.е. плюем на настройки администратора и сами заставляем юзера вбить или выбрать определенные данные. Но тут вытекает проблема - со временем об этом все забудут, и может произойти так, что логику процесса подправят, а логику валидатора - нет. А так же потребность в таких процессах возрастает, а значит вероятность ошибки тоже.
Т.е. нужно как то для программиста обеспечить видимость того, что используется фоновый процесс (решение - все методы в одном классе, плагине\хендлер) и ограничить его в возможностях (т.е. чтобы не запихнули всякую чушь в этот плагин).
Может есть какие-нибудь паттерны, решающие мою задачу?