|
41 / 0 / 0
Регистрация: 07.08.2013
Сообщений: 41
|
|
Задачи на понимание паттернов19.08.2015, 15:50. Показов 17642. Ответов 6
Метки нет (Все метки)
Добрый день, форумчане!
Изучаю паттерны, читаю книгу "Приемы ООП. Паттерны проектирования" (Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес). Пока читаю, все понятно, но как применять это на практике - не пойму. Найти какие-нибудь адекватные задачи сходу тоже не получается. Есть ли где-нибудь (желательно на русском) толково расписанные примеры или, что гораздо лучше, какие-нибудь задачи, которые смогли научить новичка мыслить шаблонами? (С фантазией у меня туго, самостоятельно не придумаю)
0
|
|
| 19.08.2015, 15:50 | |
|
Ответы с готовыми решениями:
6
Прошу расширить понимание для выполнения задачи Реализация паттернов Использование паттернов |
|
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
|
||
| 19.08.2015, 15:56 | ||
|
Википедия
и здесь https://sourcemaking.com/design_patterns самый простой пример напишите подключение к базе данных с использованием шаблона Singleton
1
|
||
|
41 / 0 / 0
Регистрация: 07.08.2013
Сообщений: 41
|
||
| 19.08.2015, 16:02 [ТС] | ||
За пример спасибо!
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 19.08.2015, 20:18 | ||
|
важно осознавать какую проблему они решают. вот если бы вы на практике столкнулись с проблемой, а тут бац - паттерн, и все элегантно разрешилось, вот тогда вы сразу осознаете всю ценность этого паттерна. поэтому, вам нужно акцентрировать внимание не столько на сами паттерны, сколько на проблемы, которые они решают. вот например, представьте себе, что вы делаете симулятор животного мира. есть волки, овцы, зайчики, и тп. у них у всех различное поведение. первая мысль, которая может придти в голову: давайте сделаем общего предка Animal, от которого уже будут наследоваться всякие там волки, или овцы. наследники будут переопределять какие то методы, которые отвечают за поведение. волки будут охотиться, овцы - щипать травку и убегать. и тп. все бы ничего, но поведение волков неизменно. при таком подходе волки постоянно ведут себя одинаково (как волки). а овцы - как овцы. хотя их поведения и типичны для этих животных, однако оно статичное. но вот приходит менеджер и говорит, что заказчикам этого мало. нужно, что бы в зависимости от времени года, конкретные виды животных так же изменяли свое поведение. например, к зиме волки начинают сбиваться в стаю. а по весне, у животных должны начаться какие то брачные игры. получается, что в зависимости от времени года одно и тоже животное начинает вести себя по разному. это означает, что поведение животных должно уметь изменяться в рантайме. обычной виртуальной функции здесь уже не достаточно. плюс, менеджеры приносят все новые и новые задачи: стратегии поведения животных становятся все более сложными и замороченными. как вы порешаете проблему "иметь возможность изменять поведение налету" ?
0
|
||
|
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
|
||
| 20.08.2015, 08:14 | ||
|
Я бы посоветовал Вам вот что: находите проекты объектные с открытым исходным кодом и пытаетесь в коде обнаружить, выделить знакомые паттерны, попытайтесь понять решаемую задачу. Вот это был бы хороший способ поближе и на практике понять шаблоны.
1
|
||
|
41 / 0 / 0
Регистрация: 07.08.2013
Сообщений: 41
|
|||
| 20.08.2015, 11:19 [ТС] | |||
|
Клиент создает объект "поведение по весне", а этот объект уже создает объект поведения для конкретного животного. Скорей всего, я ошибаюсь ![]() Добавлено через 2 минуты
0
|
|||
|
Модератор
3136 / 2283 / 469
Регистрация: 26.03.2015
Сообщений: 8,885
|
||
| 20.08.2015, 13:44 | ||
|
Вы лучше задавайте этот вопрос отдельно (в отдельной теме) для каждого паттерна, назначение которого Вам не ясно.
0
|
||
| 20.08.2015, 13:44 | |
|
Помогаю со студенческими работами здесь
7
Физический смысл паттернов Множество паттернов поиска Использование паттернов в Делфи
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|