Привет 6 проектов, определенных в моей IDE.
EventHelper имеет точку входа. Остальные проекты — это DLL, которая поглощается EventHelper.
обмен сообщениями а также 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")
)
Или, если это невозможно, какой будет предложенная архитектура?
Задача ещё не решена.