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

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

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

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

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

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

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

C++ Как создать интерфейс для программы?
C++ Как сделать качественный интерфейс в с++?
Написать программу которая будет разделять число C++
C++ Как организовать интерфейс в виде абстрактного класса?
C++ Тело на с++, интерфейс на с#. Как сляпать это добро?
C++ Могут ли две string разделять одни данные?
C++ Как экспортировать интерфейс из dll
C++ Как изменить интерфейс программы?
Может ли поток разделять группы разрядов? C++
C++ Как использовать интерфейс объекта?
C++ Как правильно разделять программу на модули
C++ Как лучше писать логику и интерфейс программы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Maxim Prishchepa
Эксперт С++
 Аватар для Maxim Prishchepa
1919 / 1031 / 74
Регистрация: 29.03.2010
Сообщений: 3,167
19.08.2013, 16:28     Как разделять интерфейс и данные? #2
MVC как вариант...
а так вообще смотрите в сторону патернов проектирования
gromo
 Аватар для gromo
367 / 266 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
19.08.2013, 18:33  [ТС]     Как разделять интерфейс и данные? #3
l_a_m, А насколько актуальны паттерны и, вообще, подобная структуризация в практическом смысле?
Например, для игры ААА-класса, для средней сложности прикладной программы (~1год разработки в компании из 20 человек, примерно)?
Maxim Prishchepa
Эксперт С++
 Аватар для Maxim Prishchepa
1919 / 1031 / 74
Регистрация: 29.03.2010
Сообщений: 3,167
19.08.2013, 18:36     Как разделять интерфейс и данные? #4
чуть более чем полностью оправдана, особенно когда дойдете до сопровождения и осознания того, что нужно бы чего-то поменять
Убежденный
Системный программист
 Аватар для Убежденный
14637 / 6598 / 1045
Регистрация: 02.05.2013
Сообщений: 10,866
Завершенные тесты: 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     Как разделять интерфейс и данные?
Ответ Создать тему
Опции темы

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