Здравствуйте, в целях получения практического опыта решил написать небольшой mvc велосипед. Умные головы и википедия в
частности утверждают, что для реализации взаимодействия модели и представления желательно использовать паттерн обозреватель. Встал вопрос стоит ли использовать встроенные интерфейсы SplSubject/SplObserver или использовать свою реализацию, примеры реализаций так же есть в
википедии. Исходя из них я пришел к следующим выводам.
В пользу своей реализации говорят:
- Мне не нужен метод detach, скрипт сам умрет дойдя до конца, это ведь PHP
- Я могу лучше уточнить тип передаваемого класса для метода notify() используя Model вместо SplSubject, т.к. другие классы тоже могут реализовать этот интерфейс
Так же в процессе написания возник еще один вопрос. У меня будут статические виды, которым вообще не нужна модель (формы например). Им не нужен метод notify() как таковой. Исходя из этого их вообще не стоит реализовывать как обозревателей и нужно разделить их каким-то образом с видами которым он нужен.