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

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

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

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

04.07.2014, 23:34. Просмотров 1006. Ответов 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
DrOffset
7349 / 4449 / 1009
Регистрация: 30.01.2014
Сообщений: 7,292
04.07.2014, 23:38 #2
ilja123, это везде используется. См. тут.
Насчет усложнения - читай тут.
0
ValeryS
Модератор
6673 / 5082 / 474
Регистрация: 14.02.2011
Сообщений: 17,048
04.07.2014, 23:40 #3
Цитата Сообщение от ilja123 Посмотреть сообщение
Скажите, отделение данных от логики
Не понял, переведи
Цитата Сообщение от ilja123 Посмотреть сообщение
Только для работы 1-го класса, нужно задействовать 3-и файла. В одном описать, в другом реализовать, в 3-м использовать... Зачем так усложнять????
вот когда у тебя будет 100500 классов и все друг с другом взаимодействуют,и нужно исправить один
поймешь что так удобней
другой пример создал класс, настолько удобный что решил его еще раз использовать, а может и не раз
как выдерешь его из готового проекта
а так взял два файла и перенес в новый проект
или вообще скомпилил из этого класса библиотеку
0
ilja123
43 / 43 / 7
Регистрация: 24.12.2009
Сообщений: 400
04.07.2014, 23:41  [ТС] #4
а по существу???
0
DrOffset
7349 / 4449 / 1009
Регистрация: 30.01.2014
Сообщений: 7,292
04.07.2014, 23:44 #5
Цитата Сообщение от ilja123 Посмотреть сообщение
а по существу???
Разве не по существу? Потрать 10 минут времени и прочитай статью. Часть вопросов должна отпасть. Если после этого еще останется что спросить, приходи сюда и задавай.
0
ilja123
43 / 43 / 7
Регистрация: 24.12.2009
Сообщений: 400
04.07.2014, 23:45  [ТС] #6
Цитата Сообщение от ValeryS Посмотреть сообщение
как выдерешь его из готового проекта
тут нет вопросов Я спрашиваю зачем в одном файле делать только описание, а в другом реализацию? Чем это упрощает?? Если у меня 100500 классов То над будет работать с 201000 файлов В чем преимущество???

Добавлено через 1 минуту
Цитата Сообщение от DrOffset Посмотреть сообщение
Потрать 10 минут времени и прочитай статью.
Я вам сейчас отзыв накатаю за 10 минут за флуд
0
DrOffset
7349 / 4449 / 1009
Регистрация: 30.01.2014
Сообщений: 7,292
04.07.2014, 23:53 #7
Вот как ты вопрос сформулировал, такой и ответ получил.
Разница у этого вопроса и у первого - колоссальная. От формулировки зависит то, на что был получен ответ.

Цитата Сообщение от ilja123 Посмотреть сообщение
Я спрашиваю зачем в одном файле делать только описание, а в другом реализацию? Чем это упрощает??
По этому вопросу все гораздо проще, если писать все в одном файле получим грандиозное замедление компиляции из-за специфики сборки в С\С++- это во-первых. Во-вторых, при правильном проектировании интерфейсов, не смотря на то, что файлов много, достаточно посмотреть на объявление класса, чтобы понять как им пользоваться, поэтому лазить во второй файл (с реализацией), зачастую, уже не нужно.
1
ilja123
43 / 43 / 7
Регистрация: 24.12.2009
Сообщений: 400
04.07.2014, 23:55  [ТС] #8
Оуу блиин Ну канеш!! Я про компиляцию забыл!!!!!!!!!! Я прост на Шарпе посидел Отупел немног Сорри
0
ValeryS
Модератор
6673 / 5082 / 474
Регистрация: 14.02.2011
Сообщений: 17,048
05.07.2014, 00:02 #9
Цитата Сообщение от ilja123 Посмотреть сообщение
Я спрашиваю зачем в одном файле делать только описание, а в другом реализацию?
ты имеешь ввиду c и h файлы?
тогда так
h файлы подключаются include, на самом деле не подключаются а "вписываются"
макрос include заносит на свое место содержимое файла
а c файл это единица трансляции
они не обязательно вместе все компилируются

и чтобы компилятор в другом файле знал как устроен твой класс его описание и "вписывается" include с заголовочным файлом
ты можешь не использовать include, а в каждом файле где используется твой класс писать заново описание класса, не думаю что это было бы удобней
1
Mr.X
Эксперт С++
3050 / 1695 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
05.07.2014, 11:14 #10
Цитата Сообщение от ilja123 Посмотреть сообщение
Скажите, отделение данных от логики действительно явл. правилом хорошего тона в с++ ?
Это называется модульным программированием. Подробно см. статью в Википедии.
Его основной принцип: программа разбивается на модули, а каждый модуль - на интерфейс и реализацию.
Цитата Сообщение от ilja123 Посмотреть сообщение
Что-то я не видел, чтобы в других яз. это практиковалось.
История концепции модулей как единиц компиляции восходит к языкам Фортран II и Кобол, то есть, к концу 1950-х годов.
Языки, формально поддерживающие концепцию модулей: IBM S/360 Assembler, Кобол, RPG, ПЛ/1, Ада, D, F (англ.), Фортран, Haskell, Blitz BASIC, OCaml, Паскаль, ML, Модула-2, Оберон, Компонентный Паскаль, Zonnon, Erlang, Perl, Python и Ruby.
<из той же статьи в Википедии>.
0
Voivoid
675 / 278 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
05.07.2014, 11:41 #11
Цитата Сообщение от ilja123 Посмотреть сообщение
Скажите, отделение данных от логики действительно явл. правилом хорошего тона в с++ ? Что-то я не видел, чтобы в других яз. это практиковалось. По мне, так это дурдом! Только для работы 1-го класса, нужно задействовать 3-и файла. В одном описать, в другом реализовать, в 3-м использовать... Зачем так усложнять????
Это практикуется во всех языках ( ну, конечно где средства языка это позволяют ). Пока сам шишек не набьешь на больших проектах - не поймешь. А на лабах-то, в которых три с половиной строчки кода, понятно дело что профит от всего этого не очевиден
0
ilja123
43 / 43 / 7
Регистрация: 24.12.2009
Сообщений: 400
05.07.2014, 11:53  [ТС] #12
Цитата Сообщение от Mr.X Посмотреть сообщение
к концу 1950-х годов
Кого волнует, что было в 50-х годах?

Цитата Сообщение от Voivoid Посмотреть сообщение
Это практикуется во всех языках
В каких?
0
Voivoid
675 / 278 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
05.07.2014, 11:58 #13
Цитата Сообщение от ilja123 Посмотреть сообщение
В каких?
Да бери практически любой созданный с конца 80-х
0
ilja123
43 / 43 / 7
Регистрация: 24.12.2009
Сообщений: 400
05.07.2014, 12:01  [ТС] #14
Ну и как это делается с C# например?
0
Voivoid
675 / 278 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
05.07.2014, 12:27 #15
Цитата Сообщение от ilja123 Посмотреть сообщение
Ну и как это делается с C# например?
При помощи ООП, в частности интерфейсов

http://ru.wikipedia.org/wiki/%D0%A2%...83%D1%80%D0%B0

http://ru.wikipedia.org/wiki/Model-View-Controller
0
05.07.2014, 12:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2014, 12:27
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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