Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Sumo 24.06.2018 13:59 / 25.06.2018 08:28
... и лишены наследования и полиморфизма. Сейчас у вас обычная процедурная программа, которая использует классы как некое подобие модулей, но не как прототип объектов. В процедурном программировании можно сымитировать DI/IOC, передавая в процедуры ссылки на другие процедуры.@CLASS explainer @explain[aOptions] ... $lObserverMod[^if(def $aOptions.observer_func){$aOptions.observer_func}{$H:observer_mod}] ^lObserverMod[] ... И где-то в коде вызываем: ^explainer:explain[$.observer_func[$MH:observer_mod]]Я бы рекомендовал навсегда забыть про статические классы и использовать только объекты, которые создаются через конструктор классов. :)