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

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

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

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

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

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

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

Могут ли две 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++
Привет форумчане! В общем, изучаю плюсы и столкнулся с такой проблемой для себя, что не могу откастить до интерфейса. Есть...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Maxim Prishchepa
Эксперт С++
1922 / 1034 / 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
Эксперт С++
1922 / 1034 / 74
Регистрация: 29.03.2010
Сообщений: 3,167
19.08.2013, 18:36 #4
чуть более чем полностью оправдана, особенно когда дойдете до сопровождения и осознания того, что нужно бы чего-то поменять
Убежденный
Системный программист
Эксперт С++
15511 / 7009 / 1108
Регистрация: 02.05.2013
Сообщений: 11,441
Завершенные тесты: 1
19.08.2013, 19:17 #5
Цитата Сообщение от gromo Посмотреть сообщение
Собственно, нужно ли разделять GUI и функции работы с данными?
Нужно.
Если только речь не о тривиальных проектиках в пару тысяч строк.

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

Цитата Сообщение от gromo Посмотреть сообщение
И может, если есть какая-нибудь литература по проектированию?
"Паттерны проектирования" (GoF). Must read.
"Pattern-Oriented Software Architecture". Старо, но по-прежнему актуально.
Еще есть известные книги Фаулера и Макконнелла, хотя это скорее по общим вопросам.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2013, 19:17
Привет! Вот еще темы с ответами:

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

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

Как в include отделить интерфейс от реализации? - C++
В Turbo Pascal можно подключать модули, которые содержат разделы implementation и interface. Так содержимое раздела интерфейса доступно в...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.08.2013, 19:17
Ответ Создать тему
Опции темы

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