Цитата:
Сообщение от AlexCooper
в любом месте мне достаточно вызвать
GlobalVars.core.logic(GlobalVars.core.COMPLAINT_USER, {'uid':$uid,'remove':this} );
...
В чем минус такого решения?
|
1. Код с "сырыми" объектами никогда не будет гибким. А если COMPLAINT_USER потребуется объект с новым полем? Будете по всему проекту искать и добавлять? "Современные умные IDE" - не аргумент.
2. Свитч в методе logic может разрастись во много сотен строк монотонного кода.
3. Код с упоминанием GlobalVars.core.* станет не переносимым. Например, небольшой пакет из 5-10 классов заточенный выполнять какую-либо конкретную задачу не получится просто вытащить из репозитория и тут же начать использовать в новом проекте. Нужно будет либо удалять GlobalVars.core.*, либо тащить в новый проект GlobalVars.
Все зависит конечно от контекста, и возможно в вашем конкретном случае все это оправдано, но как правило концентрация логики в какой-то одной глобальной точке ни к чему хорошему не приводит.