Size: a a a

2020 August 16

RM

Roy Mustang in C++ Together 2.0
Не имеет значение как это работает за кулисами, важнее как это выглядит.
источник

🦊

🦊fox.cpp in C++ Together 2.0
Нет смысла в никаких отношениях модуль-плагин, если один плагин трогает все вокруг (плагины) и ты даже не можешь понять, что он трогает.
источник

🦊

🦊fox.cpp in C++ Together 2.0
У тебя дегенерация иерархии в неопределенный граф плагинов.
источник

🦊

🦊fox.cpp in C++ Together 2.0
Кому оно надо
источник

🦊

🦊fox.cpp in C++ Together 2.0
Roy Mustang
Не имеет значение как это работает за кулисами, важнее как это выглядит.
Имеет значение, как оно работает и как глобально структурировано, а небольшие неудобства при использовании ты вытерпишь.
источник

RM

Roy Mustang in C++ Together 2.0
🦊fox.cpp
У тебя дегенерация иерархии в неопределенный граф плагинов.
А как ты хочешь реализовать систему модулей не запрашивая у других модулей функционал? Это невозможно
источник

RM

Roy Mustang in C++ Together 2.0
В этом и суть модульной системы
источник

🦊

🦊fox.cpp in C++ Together 2.0
Roy Mustang
А как ты хочешь реализовать систему модулей не запрашивая у других модулей функционал? Это невозможно
DI
источник

🦊

🦊fox.cpp in C++ Together 2.0
Но ты говоришь, что умрешь от пары указателей в классе
источник

p

pepeground_bot in C++ Together 2.0
ты так плохо? но это будет детектится wiresharkom!
источник

🦊

🦊fox.cpp in C++ Together 2.0
Dependency Injection т.е.
источник

RM

Roy Mustang in C++ Together 2.0
🦊fox.cpp
Но ты говоришь, что умрешь от пары указателей в классе
У меня и так .dll инжектится в рантайме
источник

RM

Roy Mustang in C++ Together 2.0
Каждый .dlll создает от лица себя один класс, уже 50 раз скидываю
источник

RM

Roy Mustang in C++ Together 2.0
Этот класс он в единственном экземпляре, я объясню щас почему
источник

RM

Roy Mustang in C++ Together 2.0
На гитхабе есть фреймворки, которые построены примерно так же, я пишу свой фреймворк посматриваю на их проблемы и подходы
источник

RM

Roy Mustang in C++ Together 2.0
Проблема вот в чем, у них нет системы плагинов внутри модуля, но есть множественные классы, которые регаются через HFMain
источник

RM

Roy Mustang in C++ Together 2.0
Ты там написал около 10 .dll и каждый из них от 1 до 3-5 классов регает, как понять какой из них подключать чтоб получить какой то функционал?
источник

RM

Roy Mustang in C++ Together 2.0
На первое время ты запомнишь, а через пол года ? Когда нужно будет добавить новый .dll с функционалом, а у него зависимости от других .dll, ищи свищи потом в каком .dll этот класс
источник

RM

Roy Mustang in C++ Together 2.0
В моем случае - 1 класс на модуль и пишу так чтоб имена классов совпадали с именами модулей, а внутри уже этих модулей лежат компоненты - плагины, которые выполняют роли тех самых множественных классов, которые используются в других фреймворках
источник

RM

Roy Mustang in C++ Together 2.0
Допустим ты создаешь модуль "ModuleWorld", внутри этого модуля ты добавляешь объекты классов через его метод AddPlugin, каждый World должен иметь в себе систему  возможность хранить объекты, свойства и прочее, вот ты и создаешь несколько классов - плагинов и добавляешь их в свой класс модуля
источник