Entry tags:
Интерфейс вместо Pimpl
Для изоляции реализации от интерфейса в Си++ обычно применяют идиому Pimple. Сергей Тарасов предлагает альтернативное решение, более простое: интерфейс в виде абстрактного класса. Надо будет попробовать переписать мой пример dependency-inversion-demo.