Ответ 1
Я думаю, что вы увидите большинство изменений в поведенческих моделях.
Метод шаблона. Методы шаблонов будут все чаще использоваться, и вместо этого мы увидим, что объекты передают функции в AbstractTemplate вместо подкласса AbstractTemplate. Я писал об этом в последнее время здесь: http://hamletdarcy.blogspot.ch/2007/11/groovy-closures-end-of-template-method.html
Шаблон наблюдателя. Наблюдатель упрощается, поскольку вам больше не нужно сохранять список наблюдателей, которые обновляются по новым событиям, но вместо этого сохраняют список функций, которые необходимо возвращать на новые события, Таким образом, нет интерфейса Observer и просто объектов функции.
Шаблон состояния/стратегии. Я группирую их вместе, потому что они структурно эквивалентны, просто разные по назначению. Использование стратегии становится гораздо более распространенным, поскольку его легче реализовать. Вам не нужны подклассы стратегии и стратегии для родителей, вам просто нужны функции. Поэтому просто просто передать функцию как параметр, который по сути использует шаблон стратегии.
В целом, я думаю, что любой шаблон, который требует интерфейса с одним методом, становится проще реализовать. Это будет иметь два эффекта. 1) Мы будем использовать эти функциональные шаблоны больше, и 2) мы перестанем ссылаться на них как на шаблоны, а также на "передачу функции".
Вы делаете то, что хотите, но я думаю, что "JavaScript Хорошие детали" дает довольно приятное введение в использование функций на языке. Вы можете забрать его и прочитать!