Когда я только начинал эту статью, то планировалось, что она будет посвящена рассмотрению только Command Pattern-а, но по ходу ейо совершенствования и доработки статья разрослась и в нейо вошло рассмотрение еще двух паттернов, это Singleton Pattern и Decorator Pattern. Поэтому, статья получилась весьма обширная, я разделил ейо на блоки в которых рассмотрены дополнительные шаблоны, их реализация и примеры (в том числе и на Java). Но основной частью все равно является рассмотрение работы Command Pattern-а с интеграцией его в MVC.
Введение
В этом примере мы рассмотрим один из самых распространенных шаблонов программирования - Командный - Command Pattern. Основной идеей этого "паттерна" является выделение функционала в команду, которая будет обрабатывать входящий, переданный ей объект и делегировать выполнение операции в сам объект или другие функции (команды). По сути своей Command Pattern это чистой воды принцип инкапсуляции в объектно-ориентированных языках, когда действие заменяется объектом-командой, а реализация его скрывается. Полученную команду, затем, можно использовать для модификации "подходящих" объектов сколько угодно раз, и в случае необходимости расширения, изменить функционал только в самом объекте или путем модификации команды.