Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
ilja123
43 / 43 / 7
Регистрация: 24.12.2009
Сообщений: 400
#1

Является ли правилом хорошего тона отделение данных от логики? - C++

04.07.2014, 23:34. Просмотров 1019. Ответов 17
Метки нет (Все метки)

Скажите, отделение данных от логики действительно явл. правилом хорошего тона в с++ ? Что-то я не видел, чтобы в других яз. это практиковалось. По мне, так это дурдом! Только для работы 1-го класса, нужно задействовать 3-и файла. В одном описать, в другом реализовать, в 3-м использовать... Зачем так усложнять????
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2014, 23:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Является ли правилом хорошего тона отделение данных от логики? (C++):

Правило хорошего тона: отделение ввода-вывода C++ - C++
Добрый день. Собственно про MVC модель препод рассказывает, но на пальцах, понять сложно мне почему-то, примеров конкретных не приводит. ...

О правилах хорошего тона в C++: изменение данных из private секции класса А в классе В через указатель - C++
#include <iostream> using namespace std; class A { int *a; public: A()

std:: - правило хорошего тона,или? - C++
часто встречается разный код,где одно и тоже пишется по разному: int n; cin >> n; cout << n; или так: int...

Вопрос "хорошего тона", "стиля" в программировании - правильное использование #include - C++
Привет. Вступление. Имею небольшой опыт в программировании. Сейчас мне дали разобрать один проект, как пример работы HGE и Box2D. ...

Правильно хорошего тона - HTML, CSS
Предлагаю обсудить насущные вопросы связанные с использование HTML5!!! Как вы считаете хорошо ли внутри <section> писать <article>? ...

Правила хорошего тона? - C# WPF
У меня есть много окон. Экземпляры моделей для них я храню в самом App. Пример: public partial class App : Application { public...

17
Убежденный
Ушел с форума
Эксперт С++
15697 / 7207 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
05.07.2014, 12:38 #16
Цитата Сообщение от ilja123 Посмотреть сообщение
По мне, так это дурдом!
Вы еще PIMPL не видели !
0
ilja123
43 / 43 / 7
Регистрация: 24.12.2009
Сообщений: 400
05.07.2014, 12:43  [ТС] #17
Voivoid,
Может хватит???

Добавлено через 1 минуту
Цитата Сообщение от Убежденный Посмотреть сообщение
Вы еще PIMPL не видели !
Ну правд! Создал ток 2-а класса, открыл 5-ть вкладок и стал пытаться наладить взаимодействие между ними....
0
Убежденный
Ушел с форума
Эксперт С++
15697 / 7207 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
05.07.2014, 13:06 #18
Цитата Сообщение от ilja123 Посмотреть сообщение
Ну правд! Создал ток 2-а класса, открыл 5-ть вкладок и стал пытаться наладить взаимодействие между ними....
ilja123, я вполне понимаю Ваше недоумение по этому поводу.
Но дело в том, что большая часть всех этих практик с разделением на интерфейс и реализацию,
данные и логику, модель и представление и т.п. возникла далеко не на пустом месте.

В общем случае всегда полезно что-то от чего-то отделить.
Есть такое хорошее правило проектирования: "разделяй и властвуй".

Отделил интерфейс от реализации - значит, сделал их независимыми друг от друга, можешь
отдать клиентам интерфейс и не беспокоить их после этого месяцами, а сам занимаешься
реализацией. Об изменениях в которой они даже не узнают. Про время компиляции уже
написали выше. В некоторых случаях можно менять реализацию без перекомпиляции
клиентского кода, для больших проектов это бывает важно.

Отделил данные от логики - значит, обеспечил себя возможностью тестировать их отдельно
друг от друга. Представьте, насколько сложнее создать тесты для программы, работающей с
данными, когда вся логика работы с БД и ее специфическими особенностями намертво
зашита в код. Да еще перемешана с обработкой UI. А такого г-нкода вокруг навалом.
В итоге нельзя нормально протестить ни работу с базой, ни сам UI, ни поменять БД или
оформление, все "прибито гвоздями" и размазано по куче файлов, нажмешь в одном месте -
вспучит в другом...

Но выгоды от вышеописанного можно почувствовать только на проектах не ниже некоторого
"веса", в других случаях будет нейтрально или во вред.

И еще хочется сказать, что слепое следование всевозможным правилам хорошего тона, без
понимания того, что за ними стоит - опасная практика. Лучше писать так, как знаешь, в
надежде со временем выработать свой стиль и научиться хорошо проектировать программы,
чем тупо копировать чьи-то идеи, в надежде, что они принесут пользу "автоматически".
3
05.07.2014, 13:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2014, 13:06
Привет! Вот еще темы с ответами:

Правила хорошего тона в программировании в VB (+++) - Visual Basic
Господа программисты, давайте обсудим правила хорошего тона программирование в VB. Например у меня есть такой вопрос, я часто ипользую...

Правила хорошего тона (грамотный код) - C#
Вопросы хорошего тона, грамотности и красоты кода. Лечение быдлокода. Лично у меня пока что вопросы теоретического плана: - передача...

проверить на соответствие правилам хорошего тона=) - C#
ну в общем исходное задание - MDI текстовый редактор (формат rtf) общий план который мне кажется целесообразным: родительская форма...

Плагины и правила хорошего тона программирования - C#
Доброе время суток! Пишу достаточно большую программу на C#.NET 3.5 Все пока получается но есть пара вопросов: 1) Все функции...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

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