|
0 / 0 / 0
Регистрация: 24.02.2020
Сообщений: 33
|
||||||
Идея реализации модульной системы28.05.2023, 23:22. Показов 1218. Ответов 1
Кончилась фантазия, ничего не могу придумать. А если серьезно, предложите какие нибудь идеи реализации системы модулей/плагинов. Предположим, я пишу какое-то приложение-фреймворк, внутри его GUI есть "консоль", в ней можно вводить команды и получать их вывод. Я хочу как то сделать так, чтобы мое приложение получало список доступных модулей из определенной папки и регистрировало их в этой консоли. Сейчас пришла мысль, например, для каждого модуля создать отдельный xml файл, который будет описывать команду и аргументы, но как мне в этом случае реализовать вывод и функциональность модуля? В общем, предложите какие нибудь варианты)
P.S. образец xml файла:
0
|
||||||
| 28.05.2023, 23:22 | |
|
Ответы с готовыми решениями:
1
Нужна идея по реализации игр.поля Правильность модульной системы Разработка модульной CML системы |
|
53 / 27 / 9
Регистрация: 04.05.2013
Сообщений: 83
|
||||||
| 02.06.2023, 22:30 | ||||||
|
Реализация плагинной структуры порождает 2 задачи: внешняя и внутренняя интеграция.
Внешняя интеграция самая простая задача. Если пользоваться maven, то потребуется 3 проекта. 1. Общий проект, который содержит общие интерфейсы и классы для основного приложения и плагинов. Данный пункт является решением задачи внутренней интеграции. 2. Проект основного приложения, который будет динамически загружать платины. Использует maven-зависимость из п.1 с scope=compile. 3. Проекты плагинов. Использует maven-зависимость из п.1 с scope=provided. То есть плагин может оперировать классами из зависимости, но при компиляции в jar-файл эти классы не попадают. Приложение под каждый плагин создаёт отдельный загрузчик классов. Используя один из подходов внутренней интеграции, загружаем и создаём экземпляр класса плагина. Используя общие классы, основное приложении сможет взаимодействовать с загруженным плагином. На этом внешняя интеграция завершена. Внутренняя интеграция определяет набор интерфейсов, их методов, а также сценарий их использования. Первая проблема, которая появляется при загрузке плагина загрузчиком классов, это как понять какие классы необходимо найти и создать. Основной подход решения состоит в том, что в каждом плагине гарантированно лежит общеизвестный класс или файл. Например, файл my/plugin/entry, который будет содержать полное имя класса плагина. Общие моменты для всех плагинных архитектур рассмотрены. Состав интерфейсов и классов зависит от целей и специфики проекта. Наиболее общая реализация плагинной архитектуры это OSGi. В рамках примера консольного приложения, XML файл с описанием плагина должен превратиться в класс, реализующий интерфейс ConsoleCommandPlugin.
0
|
||||||
| 02.06.2023, 22:30 | |
|
Помогаю со студенческими работами здесь
2
Нужна идея для реализации Идея реализации для начинающих Идея реализации анти чита Нужна идея для реализации простого ИИ Нужна идея для реализации интерфейса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|