Ссылки по нестандартному способу организации полиморфизма в C++, а также материалы Шона Пэрента (Adobe) по архитектуре программ.
Лекция про организацию неинклюзивного полиморфизма
“My class T inherits from nothing”
см также - идиома “Type Erasure”
Также может послужить небольшим туториалом по rvalue-ссылкам и обзором преимуществ использование value-семантики для перемещаемых объектов.
Доклад является часть серии Better Code
(тут все доклады и дополнительные статьи).
Часть из них посвящена формальному математическому подходу к построению структур данных и алгоритмов, частично базируется на книге Александра Степанова и Пола Мак-Джонса Elements of programming (в интернете можно откопать русский перевод) и заметках Notes of Programming. Но некоторые представляют интерес не только со стороны фундаментальной подготовки.
Другие лекции и материалы Шона
Sean Parent - Polymorphic Task - подход, применяемый в первой статье, для написания класса task за 10 минут.
Language Delay - чистый C++ позволяет использовать 0.25% производительности компьютера (объяснение, где скрыты остальные 99.75% на видео).
Sean Parent “Better Code: Relationships” - про отношения между объектами в коде. Цель - написание кода без противоречий. Объяснение идеи контрактов и концептов.
Архитектура - это искусство проектировать и конструировать структуры
How did MVC get so Fed up? - описание “правильного” паттерна MVC версии Smalltalk. Видео-версия объяснения проблемы - в докладе “Better Code: Human Interface”. Цель правильного UI - не врать. Другой подход к упрощению ui - парадигма immediate gui и Dear ImGui как известный её представитель. Ещё цитата из доклада:
Таксономия всего в программе - коллекции, объекты, свойства, операции, отношения.
Доклад, использующий идею runtime-полиморфизма
Louis Dionne “Runtime Polymorphism: Back to the Basics” - про разные способы соединения классов с их виртуальным таблицами.
REPL-интерпретатор C++ кода
Cling - удобен для экспериментов в стиле первого доклада.
С первым днём лета, пусть ваш код код остаётся простым и надёжным!