Posts

Showing posts from December, 2016

Java 8 vs GoF: Strategy

Image
Продолжаем наш батл между Java 8 и бандой четырех. Сегодня под колеса новых возможностей православной Java попал паттерн “Стратегия”. Но не будем спешить и для начала вспомним о чем вообще данный шаблон проектирования. Стратегия - поведенческий паттерн, задачей которого является определение и инкапсуляция группы алгоритмов, а также обеспечение их взаимозаменяемости. Это позволяет нам менять реализацию поведения на лету. Освежим в нашей памяти UML-диаграмму данного шаблона.

Java 8 vs GoF: Command

Image
До недавнего времени я считал паттерны проектирования некими незыблемыми постулатами, которые нужно знать на память как и таблицу ASCII (шутка). Но о чем я не подозревал, так это о том, что некоторые паттерны были рождены только потому, что на тот момент некий язык программирования просто не имел необходимого функционала для решения определенной задачи. И, как оказалось, с развитием языков программирования зарекомендовавшие себя подходы к решению стандартных задач могут претерпевать некие изменения или же вообще становиться антипаттернами. Возможно название заметки чересчур воинственное, т. к. в некоторых случаях новые возможности Java 8 не столько противопоставляются шаблонам проектирования, сколько совершенствуют их. Давай посмотрим с точки зрения Java 8 на шаблоны проектирования, некогда описанные бандой четырех. Погнали!