Динамически создать объект библиотеки DLL из Фабрики - C++

Привет 6 проектов, определенных в моей IDE.

  1. EventHelper
  2. ConfigParser
  3. OfficeEventHandler
  4. обмен сообщениями
  5. LoggingAndPersistence
  6. ScreenCamera

EventHelper имеет точку входа. Остальные проекты - это DLL, которая поглощается EventHelper.
Messaging и ConfigParser также используются во всех остальных DLL. Таким образом, код для загрузки DLL и доступа к нему является общим для всех модулей (Code Redundancy).

dllHandle_parser = ::LoadLibrary(TEXT("ConfigParser.dll"));

if (!dllHandle_parser){
    return;
}

configParserClient_fctry = reinterpret_cast<configParser>(::GetProcAddress(dllHandle_parser, "getParserInstance"));

if (!configParserClient_fctry) {
    ::FreeLibrary(dllHandle_parser);
    return;
}

parser = configParserClient_fctry();

И аналогичный код для обмена сообщениями

Мой вопрос: есть ли способ, где я могу иметь одну DLL с именем ObjectFactory, где я могу дать имя класса (во время выполнения, в строковом формате), который будет создан. Что-то вродеObjectFactory.getInstance("ConfigParser/Messaging"), (Java как Class.forName("className"))

Или, если это невозможно, какой будет предложенная архитектура?

0 ответов

Другие вопросы по тегам