|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.09.2017, 07:09 | #1 |
Пользователь
Регистрация: 07.09.2017
Сообщений: 11
|
Вектор перехода от Процедурного к ООП.
Проблема в освоении, переходу из процедурного программирования к ООП. Понимаю что нужно изменить само мышление и прогресс есть. НУжно подкрепить хорошим материалом, хорошей сборкой материала по этому поводу. Если у кого есть понимание такой проблемы и вещественная информация в виде схем, литературы, теорий. Задача - сравнить проц и ооп программирование,. ООП это ведь некий стилевой каркас, под которым всё те-же структуры и функции по обработки полей этих структур. Действие кофеина заканчивается, и мое обращение к вам тоже. Но идея и желание освоить ООП на высоком уровне, не проходите мимо если есть что посоветовать на основе опыта.
|
10.09.2017, 08:00 | #2 |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
Сложно вывернуть мышление на изнанку сходу. Нужно 10000 часов практики, как обычно. Можно попробовать писать, скажем, на java, где процедурного по сути нет.
Ну и постоянный самоконтроль- пришло быстрое процедурное решение, спроси себя - как его вывернуть наизнанку? Вобщем должно получается, что некая сущность умеет сама что-то делать, вместо привычного - мы делаем что-то над сущностью. Декомпозиция задач выглядит как деление на сущности, которые что-то умеют делать. А сама программа - это некий дирежер (буквально 5-10 процедурных строк), который запускает оркестр сущностей и далее они сами. Общие места -выносятся в отдельные сущности. Это тоже, целое искусство, придумать иерархию наследования. Тут главное, не ленится рефакторить и не делать процедурные костыли. Вобщем, отдельную сущность(класс) можно рассматривать как очень маленькую процедурную программу, которая решает какую-то элементарную задачу. Последний раз редактировалось alexzk; 10.09.2017 в 08:08. |
10.09.2017, 08:19 | #3 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Основная литература:
1] (В подлиннике) Макс Шлее-Qt 5.3. Профессиональное программирование на C++-БХВ-Петербург (2015) (3) 2] Стивен МакКонналл Совершенный код (2005) 3](Библиотека программиста) Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес-Приемы объектно-ориентированного проектирования. Паттерны проектирования-ДМК Пресс (2010) 4]Ошероув Рой.-Искусство автономного тестирования с примерами на С#(2014) 5]Фаулер Мартин (Fowler Martiп)-Рефакторинг - улучшение существующего кода-Символ-Плюс (2003) Дополнительная литература: 6](Профессионально) Брукс.-Мифический человеко-месяц или как создаются программные системы-Символ (2003) 7]Буч Г., Максимчук Р., и др.(Booch)-Объектно-ориентированный анализ и проектирование с примерами приложений-Вильямс (2008) 8]Кент Бек-Экстремальное программирование. Разработка через тестирование (2003) 9]Гради Буч, Джеймс Рамбо, Ивар Якобсон-Язык UML. Руководство пользователя-ДМК Пресс (2006)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
10.09.2017, 10:23 | #4 |
Пользователь
Регистрация: 07.09.2017
Сообщений: 11
|
Абстракции не рассматриваю.
Абстрактивный подход - не то что я ищу. Я уточнил - "вектор перехода". Сравнение стилей. Техническое сравнение.
|
10.09.2017, 10:57 | #5 | |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Цитата:
Его ж придумали не просто чтоб запихнуть функции в классы для красоты. В первую очередь оно для упрощения управления состоянием и т.п. На маленьком/простом проекте может быть сложно понять в чем смысл.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
|
10.09.2017, 11:02 | #6 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Программирование это не техническая наука, а философская.
А вектор я вам опубликовал.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
10.09.2017, 11:04 | #7 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Вообще-то именно для красоты. Смотри Smalltalk и читай статьи его создателя Алан Кэйя - отца ООП.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . Последний раз редактировалось Pavia; 10.09.2017 в 11:11. |
10.09.2017, 14:13 | #8 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
(с++, учебный курс) он делает упор именно на понимание самой парадигмы, постепенно подводя читателя к деталям реализации ООП на языке с++ |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ООП Одномерный массив - вектор | n_zheka | Помощь студентам | 5 | 11.01.2011 13:36 |
ПОДПРОГРАММЫ С ПАРАМЕТРАМИ ПРОЦЕДУРНОГО ТИПА | Kira09 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 19.12.2010 17:55 |
из процедурного в модульное | pavel42 | Помощь студентам | 7 | 30.03.2010 20:27 |
подпрограммы с параметрами процедурного типа | stargirl | Помощь студентам | 2 | 14.03.2009 14:52 |