Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос про организацию кода, Ликбез по QT 
V
    Опции темы
korbian
Дата 17.8.2009, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 336
Регистрация: 20.2.2007
Где: Penza

Репутация: 1
Всего: 14



Цитата(Любитель @  17.8.2009,  12:02 Найти цитируемый пост)
Вы часто делали десять ГУИ-фронтендов к одной программе (да, бывает - но это исключение, а не правило)?

никогда не приходилось, но мозг упорно сопротивляется зависимости от ГУИ-фреймворка(исторически) на уровне бизнес логики. smile


--------------------
korbian ©
PM   Вверх
Любитель
Дата 17.8.2009, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 16
Всего: 92



QtCore никакого отношения к ГУИ не имеет.


--------------------
PM MAIL ICQ Skype   Вверх
korbian
Дата 17.8.2009, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 336
Регистрация: 20.2.2007
Где: Penza

Репутация: 1
Всего: 14



Цитата(Любитель @  17.8.2009,  14:59 Найти цитируемый пост)
QtCore никакого отношения к ГУИ не имеет.

так то оно так. но как оценивать продукт, у которого бизнес логика зависит от qtCore, а gui-фронтенд, к примеру, от wxWidgets? то есть, понятно, что конфликта не будет, но сам проект будет восприниматься нелепо, на мой взгляд. это всего лишь мое имхо, но раз уж засветил "ништяки" (привязалось слово) из какого-либо большого фреймворка аля QT или wxWidgets, то будь добр и на gui-фронтенд от него же "разориться".

Добавлено через 1 минуту и 20 секунд
теряется переносимость бизнес-логики, вот к чему я веду.


--------------------
korbian ©
PM   Вверх
Любитель
Дата 17.8.2009, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 16
Всего: 92



Так. Ладно - тогда скажем по-другому.

Во-первых, есть два типа разделения BL и GUI: клиент-серверная архитектура или просто отдельная библиотека. Про первый надеюсь вообще вопросов нет? Если мне хочется использовать QtCore, QtXml, QtSql, etc. - я имею полное право их использовать.

Далее. Когда реально имеет смысл думать о поддержке нескольких ГУИ-фронтэндов - при написании небольшой утилиты (куча линуксовых утилит иллюстрируют эту мысль). Да - тогда пожалуйста. Другой вариант - при написании огромного проекта с собственным abstraction layer-ом для ГУИ. Тот же ОО или опера - в качестве экзамплов.

Иными словами - вариантов два. Либо убогий ГУИ, либо собственный ГУИ фреймворк (враппер над другими ГУИ-либами). Иначе разговор о различных фронтэндах теряет смысл.


--------------------
PM MAIL ICQ Skype   Вверх
korbian
Дата 17.8.2009, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 336
Регистрация: 20.2.2007
Где: Penza

Репутация: 1
Всего: 14



Любитель, сложно не согласиться. smile
в данный момент работую над проектом, в котором часть BL может "прошиваться" в достаточно примитивную "железку"(микроконтроллер), а часть функционировать на PC. у модуля, функционирующего на PC gui-фронтенд QT. BL хочется реализовать общим для обоих вариантов кодом. естественно ни о каком QT или прочее на уровне BL речи не идет. 

Хочу подчеркнуть, что ситуаций когда зависимость от большого фреймворка на уровне бизнес-логики чревата последствиями мало, но они есть и надо об этом помнить! 




Это сообщение отредактировал(а) korbian - 17.8.2009, 14:55


--------------------
korbian ©
PM   Вверх
Kipter
Дата 21.8.2009, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 2.5.2006

Репутация: нет
Всего: нет



Вы очень сильно отошли от темы =)
Разделение так называемой Бизнес Логики и Гуи от QT тут не затрагивался =)

Тут речь немного о другом разделении, для так сказать эстетического восприятия в программе =)
Я не говорил что я отделяю механику (или как еще бизнес логику) приложения от библиотеки QT.

Я отделяю механику от классов GUI, и считаю это правильным. Если ваша программа конвертирует изображения....
логично будет засунуть механику в какой нибудь класс CImgConverter допустим. И слать ему сигналы от CMainWindow.

Однако некоторые разработчики реализуют непосредственную задачу прямо в классе интерфейса. 
Что затрудняет потом поиск нужного кода... и восприятия программы в целом.

Да и идеология ООП в целом нарушается!
Если обьяснять на тех же кошечках  smile 

то реализовывать задачи программы в классах GUI элементов это все равно что Кошке прикреплять миску к челюсти, намертво =)

Это сообщение отредактировал(а) Kipter - 21.8.2009, 17:14
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0708 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.