Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
gromo
370 / 269 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
#1

Как разделять интерфейс и данные? - C++

19.08.2013, 16:25. Просмотров 355. Ответов 4
Метки нет (Все метки)

Всем привет,
Собственно, нужно ли разделять GUI и функции работы с данными? Если да (надеюсь, что да), то какие общие принципы разделения? В отдельные классы, функции, etc...?

И может, если есть какая-нибудь литература по проектированию?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.08.2013, 16:25     Как разделять интерфейс и данные?
Посмотрите здесь:

Могут ли две string разделять одни данные? - C++
Обнаружил, что substr() создает новую подстроку из заданной строки, а значит в данном коде: string str("something"); string a =...

Как правильно разделять программу на модули - C++
Как же всё-таки правильно разделять программу на модули? В интернете нашел 2 способa Но всё равно ошибки при компиляции...

Может ли поток разделять группы разрядов? - C++
Может ли std::ofstream разделять группы разрядов? Например, double x=10000; std::ofstream s("txt.txt"); s<<x;//чтоб здесь вывело не...

Написать программу которая будет разделять число - C++
Помогите написать программу которая будет разделять число. Например мы уводим число 12546 програма должна это число разделить на 1, 2, 5,...

Как использовать интерфейс объекта? - C++
Привет форумчане! В общем, изучаю плюсы и столкнулся с такой проблемой для себя, что не могу откастить до интерфейса. Есть...

Как сделать качественный интерфейс в с++? - C++
Как сделать качественный интерфейс в с++?

Как экспортировать интерфейс из dll - C++
делал всё по примеру в инете, не работает код интерфейса struct I_MyInterface { virtual bool Init(int parms)=0; ...

Как изменить интерфейс программы? - C++
Я новичок в С++, и мне не нравится, что окно котрое открывается после запуска программы, чёрное! Как изменить дизайн, интерфейс программы?

Как создать интерфейс для программы? - C++
Здравствуйте. Подскажите, Как создать графический интерфейс. К примеру написал прогу(исходник), тот же конвертер валют или калькулятор...

Тело на с++, интерфейс на с#. Как сляпать это добро? - C++
Ну, собственно, хочу сделать программу на с++, привязав к ней интерфейс из с#. Как осуществить привязку? Поподробнее, плиз. На спасибо не...

Как лучше писать логику и интерфейс программы - C++
Всем привет, суть такая я начал писать большой графический проект с использованием языка c++ и библиотеки QT. У кого большой опыт в этой...

Как организовать интерфейс в виде абстрактного класса? - C++
У меня есть задание, вот его часть: - расчёты движения предмета должны осуществляться в библиотеке, для которой нужно создать интерфейс...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Maxim Prishchepa
Эксперт С++
1920 / 1032 / 74
Регистрация: 29.03.2010
Сообщений: 3,167
19.08.2013, 16:28     Как разделять интерфейс и данные? #2
MVC как вариант...
а так вообще смотрите в сторону патернов проектирования
gromo
370 / 269 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
19.08.2013, 18:33  [ТС]     Как разделять интерфейс и данные? #3
l_a_m, А насколько актуальны паттерны и, вообще, подобная структуризация в практическом смысле?
Например, для игры ААА-класса, для средней сложности прикладной программы (~1год разработки в компании из 20 человек, примерно)?
Maxim Prishchepa
Эксперт С++
1920 / 1032 / 74
Регистрация: 29.03.2010
Сообщений: 3,167
19.08.2013, 18:36     Как разделять интерфейс и данные? #4
чуть более чем полностью оправдана, особенно когда дойдете до сопровождения и осознания того, что нужно бы чего-то поменять
Убежденный
Системный программист
Эксперт С++
15248 / 6880 / 1092
Регистрация: 02.05.2013
Сообщений: 11,262
Завершенные тесты: 1
19.08.2013, 19:17     Как разделять интерфейс и данные? #5
Цитата Сообщение от gromo Посмотреть сообщение
Собственно, нужно ли разделять GUI и функции работы с данными?
Нужно.
Если только речь не о тривиальных проектиках в пару тысяч строк.

Цитата Сообщение от gromo Посмотреть сообщение
Если да (надеюсь, что да), то какие общие принципы разделения? В отдельные классы, функции, etc...?
Общий принцип - GUI не должен работать с данными напрямую.
Только через посредника. Что это за посредник и как он будет имплементирован - не
сильно важно. Важен сам слой изоляции. Разумеется, делать это разделение нужно не
потому, что "так правильно", а четко понимая выгоды и последствия (возможно, негативные).

Цитата Сообщение от gromo Посмотреть сообщение
И может, если есть какая-нибудь литература по проектированию?
"Паттерны проектирования" (GoF). Must read.
"Pattern-Oriented Software Architecture". Старо, но по-прежнему актуально.
Еще есть известные книги Фаулера и Макконнелла, хотя это скорее по общим вопросам.
Yandex
Объявления
19.08.2013, 19:17     Как разделять интерфейс и данные?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru