Шаблоны можно считать своего рода интерфейсами поставщиков сервисов (Service Provider Interface, SPI). Они обладают очень большими возможностями и допускают непосредственное использование, но каждый раз требуют повтора множества шагов для реализации наиболее распространенных сценариев использования, встречающихся разработчикам