|
36 / 36 / 2
Регистрация: 28.04.2013
Сообщений: 110
|
||||||||||||||||||||||||||
Паттерн стратегия07.02.2014, 22:43. Показов 5228. Ответов 9
Метки нет (Все метки)
Всем привет!
Начал изучать паттерны. Одним из наиболее понятных и интересных мне оказался паттерн Стратегия. Я начитался статей и примеров из различных источников. И как говорится запилил собственный пример на С++ и Java, с преферансом и куртизанками. =) Дабы устаканить у себя в голове полученные знания, я выставляю свой пример на обозрение опытных проггеров, чтобы вы посмотрели и указали на ошибки если таковые имеются. main.cpp
ЗЫ. На почти безызвестном ресурсе педивикия, в примере на c++ существуют 2 класса Context и Client, я позволил себе небольшое отступление и реализовал сразу Client в виде Printer. Это же не сильно критично?
0
|
||||||||||||||||||||||||||
| 07.02.2014, 22:43 | |
|
Ответы с готовыми решениями:
9
ООП и паттерн Стратегия
Паттерн стратегия и ошибки при компиляции |
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
| 07.02.2014, 22:47 | |
|
пример как пример. синтетический. прикапываться нет смысла, т.к. это не какое-то боевое решение.
придраться можно к другому: вы стратегию по указатели передаете и нигде не проверяете на то, что указатель может быть нулем. в таком случае желательно стратегии принимать по ссылке. чтобы у вызывающей стороны не было вопросов относительно того, а работает ли принтер с нулевыми указателями. ну или же обрабатывать как-то ситуацию, когда передали нуль указатель на стратегию.
0
|
|
|
|
|||||||||||
| 07.02.2014, 23:09 | |||||||||||
|
Мм почем не сразу
0
|
|||||||||||
|
|
|
| 07.02.2014, 23:53 | |
|
А зачем все советуют проверять указатель на NULL, если он не устанавливается в нуль по умолчанию? С таким же успехом можно проверять указатель на четыре миллиарда других невалидных значений указателя!
Добавлено через 4 минуты Я вижу другие проблемы! Деструктор StrategyPrint не виртуальный. Почему?
0
|
|
|
|
|
| 08.02.2014, 00:04 | |
|
Далее главное! Деструктор принтера зачем-то освобождает память из-под указателя на стратегию! Это ахтунг! Динамическая память тут вообще не выделяется нигде! И даж если б выделялась это не забота принтера её удалять! Он даже не знает как именно она выделена!
Добавлено через 2 минуты Avazart, и чё? К нулю то как раз можно делитЪ применить, а о том, что в деструкторе косяк, я написал до тебя выше!
0
|
|
|
|
|
| 08.02.2014, 10:32 | |
|
Croessmah, a тут разве делитъ? Ты посмотри на его деструктор!
0
|
|
|
36 / 36 / 2
Регистрация: 28.04.2013
Сообщений: 110
|
|
| 08.02.2014, 10:51 [ТС] | |
|
По поводу delete в деструкторе, это меня всё java попутала со своими some_func(new SomeObject())
0
|
|
|
|
||
| 08.02.2014, 12:56 | ||
|
0
|
||
| 08.02.2014, 12:56 | |
|
Помогаю со студенческими работами здесь
10
Сделать выбор персонажа игры, вывод его скилов и предметов, используя паттерн стратегия
Стратегия выборки Пошаговая стратегия(начало) Стратегия выделения/освобождения памяти Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|