Название: Помощь в проэктирование модульной программы. Отправлено: s200999900 от Июль 26, 2010, 17:58 Всем привет!
Я новичек в программировании и недавно начал изучать QT. Подскажите где можно почитать и прилизительные примеры исходников(для новичка) о том как написать модульное приложение. Есть ядро программы, которое скорее всего будет работать в режиме демона/сервиса(вариант для виндовса на будущее), его задача только поиск плагинов и перенарпавление запросов от одного плагина к другому. Весь функционал программы выполняется в плагинах они же должны выполнятся в отдельных процессах. Основные плагины которые должны быть: GUI самого приложения в котором должны отображаться список плагинов и их настроек и отображения функционала в gui. интерфейс командной строки функционал почти тот же что и в gui но из ком.строки. доступ к бд (mysql,sqlite) В общем покаместь все, подскажите с чего начать, что можно почитать по этому поводу? или может есть что-то готовое как шаблон или заготовка для анализа ? :) Спасибо! Название: Re: Помощь в проэктирование модульной программы. Отправлено: lit-uriy от Июль 26, 2010, 20:48 вряд ли можно посоветовать что-то лучше, чем примеры и демки идущие в комплекте с Qt
Название: Re: Помощь в проэктирование модульной программы. Отправлено: Igors от Июль 26, 2010, 21:50 Весь функционал программы выполняется в плагинах они же должны выполнятся в отдельных процессах. Может быть в отдельных нитках (потоках)? Потому что "плагин" обычно выполняется в процессе хоста.А вообще респект Вашему ВУЗу и преподавателям - хорошие задания дают! Название: Re: Помощь в проэктирование модульной программы. Отправлено: BlackTass от Июль 26, 2010, 23:38 я думаю что отдельный процесс имеется в виду fork(), а не отдельное приложение.
Название: Re: Помощь в проэктирование модульной программы. Отправлено: s200999900 от Июль 27, 2010, 09:18 вряд ли можно посоветовать что-то лучше, чем примеры и демки идущие в комплекте с Qt Можете подсказать на какую лучше посмотреть чтобы как можно более близко отобразил то что мне нужно?Название: Re: Помощь в проэктирование модульной прогр Отправлено: s200999900 от Июль 27, 2010, 09:29 Весь функционал программы выполняется в плагинах они же должны выполнятся в отдельных процессах. Может быть в отдельных нитках (потоках)? Потому что "плагин" обычно выполняется в процессе хоста.А вообще респект Вашему ВУЗу и преподавателям - хорошие задания дают! " Может быть в отдельных нитках (потоках)? Потому что "плагин" обычно выполняется в процессе хоста. " - можно и в отдельных нитках, применительно к *nix это будут потоки (Qthreads?) Мне бы понять концептуально как можно реализовать такую заготовку для програмки и если б был пример подобной разработки. Название: Re: Помощь в проэктирование модульной программы. Отправлено: s200999900 от Июль 27, 2010, 09:40 я думаю что отдельный процесс имеется в виду fork(), а не отдельное приложение. Я так и подозревалПокаместь представляю в общем картинку: запускается ядро(демон в никсах), он просканирует каталог с плагинами и выделяет для себя бибилиотеки-плагины, которые потом подгружает, с проверкой подходят ли ему по версии эти плагины. Создает список всех доступных методов/классов с растановкой приоритетов нужно для того чтобы конект к БД mysql/sqllite произошел раньше чем пошла работа с данными из этой самой бд .и затем по "требованию? запускает GUI" или лучше GUI/CLI как отдельную программу сделать которая конектится через tcp сокет к демону? Название: Re: Помощь в проэктирование модульной программы. Отправлено: Авварон от Июль 27, 2010, 09:43 зачем так усложнять? Сделайте просто несколько библиотек
[offtop]Хотя передача сигналов\слотов по сети была бы делом прикольным Название: Re: Помощь в проэктирование модульной программы. Отправлено: Igors от Июль 27, 2010, 11:29 Покаместь представляю в общем картинку: запускается ядро(демон в никсах), он просканирует каталог с плагинами и выделяет для себя бибилиотеки-плагины, которые потом подгружает, с проверкой подходят ли ему по версии эти плагины. Создает список всех доступных методов/классов с растановкой приоритетов нужно для того чтобы конект к БД mysql/sqllite произошел раньше чем пошла работа с данными из этой самой бд .и затем по "требованию? запускает GUI" или лучше GUI/CLI как отдельную программу сделать которая конектится через tcp сокет к демону? Здесь хватает работы с управлением разными dll даже в рамках 1 процесса и 1 нитки. Создавать больше процессов и/или ниток - неясно зачем. Прочитайте в Assistant про QDir и QLibrary, загрузите нужные модули и их ф-ции. Ну и вызывайте их в нужном порядке.Название: Re: Помощь в проэктирование модульной программы. Отправлено: s200999900 от Июль 27, 2010, 12:59 Прочитайте в Assistant про QDir и QLibrary, загрузите нужные модули и их ф-ции. Ну и вызывайте их в нужном порядке. Спасибо! почитаем.Название: Re: Помощь в проэктирование модульной программы. Отправлено: crossly от Июль 27, 2010, 15:11 вариантов решения может быть несколько... сначала надо определится с задачей и архитектурой.... а потом искать решение... а не на оборот...
Название: Re: Помощь в проэктирование модульной программы. Отправлено: s200999900 от Июль 27, 2010, 15:39 вариантов решения может быть несколько... сначала надо определится с задачей и архитектурой.... а потом искать решение... а не на оборот... С задачей определился нужна для начала заготовка программы функциональность которой будет располагаться в плагинах, а ядро программы (демон) будет только загружать(подключать)/выгружать(отключать) плагины и реализовывать связи между плагинамиЕсли я правильно понимаю понятие архитектуры программы то это модульная. Можете подсказать какой нибудь вариант решения подобной задачи? или где можно почитать о том как подобные программы проэктируются или реализуются? желательно чотбы было не сильно сложно было :) Название: Re: Помощь в проэктирование модульной программы. Отправлено: Авварон от Июль 27, 2010, 15:41 да не нужен там демон
Название: Re: Помощь в проэктирование модульной программы. Отправлено: Sahab от Июль 27, 2010, 15:56 а почему нет?
Название: Re: Помощь в проэктирование модульной программы. Отправлено: Авварон от Июль 27, 2010, 15:58 и захотим мы написать гуи плагин и обломаемся
Название: Re: Помощь в проэктирование модульной программы. Отправлено: s200999900 от Июль 27, 2010, 16:00 да не нужен там демон Для начала я в любом случае попробую без демона для того чтобы посомтреть как оно работает. А на основе "обычной программы" и вокруг нее сделать обвязку из плугинов. Но хотелось бы знать на будущее к чему мне нужно прийти чтобы достич конечной цели...Название: Re: Помощь в проэктирование модульной программы. Отправлено: Sahab от Июль 27, 2010, 16:00 Цитировать или лучше GUI/CLI как отдельную программу сделать которая конектится через tcp сокет к демону? ...какбэ смысл гавкаццо пока нет задачи... Название: Re: Помощь в проэктирование модульной программы. Отправлено: galilley от Июль 28, 2010, 20:41 Есть ядро программы, которое скорее всего будет работать в режиме демона/сервиса(вариант для виндовса на будущее), его задача только поиск плагинов и перенарпавление запросов от одного плагина к другому. Весь функционал программы выполняется в плагинах они же должны выполнятся в отдельных процессах. Основные плагины которые должны быть: GUI самого приложения в котором должны отображаться список плагинов и их настроек и отображения функционала в gui. интерфейс командной строки функционал почти тот же что и в gui но из ком.строки. доступ к бд (mysql,sqlite) Где-то я подобную мысль уже слышал :). http://galilley.blogspot.com/2008/10/idp-modular-system_750.html (http://galilley.blogspot.com/2008/10/idp-modular-system_750.html) Название: Re: Помощь в проэктирование модульной программы. Отправлено: s200999900 от Июль 29, 2010, 09:41 Есть ядро программы, которое скорее всего будет работать в режиме демона/сервиса(вариант для виндовса на будущее), его задача только поиск плагинов и перенарпавление запросов от одного плагина к другому. Весь функционал программы выполняется в плагинах они же должны выполнятся в отдельных процессах. Основные плагины которые должны быть: GUI самого приложения в котором должны отображаться список плагинов и их настроек и отображения функционала в gui. интерфейс командной строки функционал почти тот же что и в gui но из ком.строки. доступ к бд (mysql,sqlite) Где-то я подобную мысль уже слышал :). http://galilley.blogspot.com/2008/10/idp-modular-system_750.html (http://galilley.blogspot.com/2008/10/idp-modular-system_750.html) |