Лаборатория космических исследований

Ульяновская секция Поволжского отделения Российской Академии Космонавтики им. К. Э. Циолковского

Ульяновский Государственный Университет
Satracks: Механизм подгрузки плагинов

На правах рекламы :)

О да, оно завелось!

Механизм эмулирует шаблон декоратор в применении к объектам (не к классам). Т.е. позволяет как бы перегружать методы в уже откомпилированных объектах. Причем, объекты подгружаются динамически из библиотек - плагинов.

Архитектура этого механизма основана на фабричном методе, в реализации широко используются шаблоны (те, которые темплейты, а не паттерны).

Для тех, кто в теме, но еще не понял: механизм позволяет динамически инициализировать экземпляр некоторого класса, о котором на этапе компиляции программы (т.е. самого satracks'а) ничего не известно, за исключением базового класса, который наследуется этим неизвестным классом. И это в программе на C++!

Так вот сегодня оно впервые завелось. Т.е. впервые я увидел, что архитектура спроектирована верно, а реализация корректна.

P.S. Выкладываю это у себя в блоге, чтобы позже, когда все же будет работать, вспомнить об этой дате.