CRTP - сложный снаружи, простой внутри паттерн, позволяющий заменить механику абстрактных классов и переопределения поведения функций на другой способ предоставления интерфейса. Читать далее
С достаточно давних времён известен нетривиальный шаблон проектирования, когда производный класс передаётся в параметре базового: template<class T> class Base { … }; class Derived : public Base<Derived> { … }; Этот шаблон имеет своё собственное название – CRTP: Curiously Recurring Template Pattern, что переводится как…
Привет, Хабр!CRTP — это метод в C++, при котором класс наследуется от шаблона класса, используя себя в качестве параметра шаблона. Это выглядит примерно так: класс X наследуется от класса-шаблона Y<X>. Этот паттерн позволяет базовому классу напрямую обращаться к методам…
Привет, коллеги! Сегодня будем говорить о паттерне «Мост» (Bridge). Простыми словами, «Мост» позволяет разделить две иерархии: одну — абстракций, другую — реализаций. Паттерн становится полезен, когда есть несколько способов реализации функционала, и хочется сохранить возможность гибкой замены одной реализации на другую. Читать далее