170 похожих чатов

Помогите начинающему. как подобрать паттерн для реализация чего либо?

26 ответов

12 просмотров

Для начала вообще почитать про то, какие паттерны есть. Есть отличная книга Сергея Теплякова "Паттерны проектирования в .NET"

Aleksandr- Автор вопроса
CountNeuroman
Для начала вообще почитать про то, какие паттерны ...

да грубо говоря, я их уже по сто раз пересматривал, не могу в голове у себя понять как стоить логику для определения нужд

Aleksandr
да грубо говоря, я их уже по сто раз пересматривал...

Думаю тут лучшим вариантом будет просмотр чужого качественного кода, и пытаться анализировать почему и как сделаны там разные вещи

Aleksandr
да грубо говоря, я их уже по сто раз пересматривал...

если не можешь придумать куда воткнуть паттерн, то нужен ли он вообще?)

Если это пет для себя, то ничего не мешает тебе просто писать как получается. Либо у тебя получится самому реализовать какой-то паттерн, либо получится фигня и ты осознаешь, зачем люди придумали паттерн, какие проблемы он решает

Aleksandr- Автор вопроса
Andrew Shurunov
Если это пет для себя, то ничего не мешает тебе пр...

в том то и дело, что я уже раз 5 заново переписывал

Aleksandr
в том то и дело, что я уже раз 5 заново переписыва...

Тогда почему бы прямо не спросить "Делал то-то и то-то, получается фигня, есть ли паттерн под это?"?

Aleksandr
дык я же и описываю все

А, соррян, не прочитал внимательно далее

Aleksandr- Автор вопроса
Andrew Shurunov
Тогда почему бы прямо не спросить "Делал то-то и т...

я не прошу код, я прошу пищу для поправки мозга

Aleksandr
в том то и дело, что я уже раз 5 заново переписыва...

это игра на unity? Не хочешь это на ecs сделать и с ООП можно не париться

Aleksandr- Автор вопроса
Andrew Shurunov
Тогда почему бы прямо не спросить "Делал то-то и т...

просто во всех статьях\книжках описания паттернов для меня еще заумно звучат или я не могу интерпретировать свои обьекты под обекты в шаблонах

Aleksandr- Автор вопроса
George
это игра на unity? Не хочешь это на ecs сделать и ...

курил я ecs. вы хотите что бы я голову сломал с перехода с ооп в dots?

Aleksandr
курил я ecs. вы хотите что бы я голову сломал с пе...

фреймворков куча не обязательно unity ecs можно morpeh или leoECS они намного легче для начинающего

Aleksandr- Автор вопроса
George
это игра на unity? Не хочешь это на ecs сделать и ...

я не настолько крут что бы так менять логику построения архитектуры

Aleksandr- Автор вопроса
George
фреймворков куча не обязательно unity ecs можно mo...

может просто на примере можете показать мне как бы вы это логически строили и к каким паттернам пришли?

ну пока данных недостаточно кто создает препятствия? И как ты путь ищешь а*?

Aleksandr- Автор вопроса
George
ну пока данных недостаточно кто создает препятстви...

AA* будет, есть в мире обьект PassabilityTileMap, которых содержит TileMap с инфой о проходимости каждой клетки и которую он изменяет в процессе игры, и так же в мире есть актеры которых содержат в себе компонент PassabilityTileMapObstacle которых описывает их размер на PassabilityTileMap

Aleksandr- Автор вопроса
George
ну пока данных недостаточно кто создает препятстви...

+ PassabilityTileMapObstacle подразделяется на StaticPassabilityTileObstacle & DynamicPassabilityTileObstacle. DynamicPassabilityTileObstacle делетися на DestructablePassabilityTileObstacle & UnitPassabilityTileObstacle

Aleksandr- Автор вопроса
George
ну пока данных недостаточно кто создает препятстви...

Сам TileMap должен быть универсальным типом, что бы мог содержать не только карту для поиска путей но и например для FogOfWar

Aleksandr- Автор вопроса
Aleksandr
+ PassabilityTileMapObstacle подразделяется на Sta...

такое разделение нужно для ускорения обновления изменений в карте

Aleksandr
+ PassabilityTileMapObstacle подразделяется на Sta...

мы же говорим только про архитектуру части которая за поиск пути отвечает? Типы препятствий как то влияют на алгоритм поиска пути? Сложно так говорить пока все детали непонятны. Я бы не усложнял сделал бы какой-то класс с массовом всех объектов мира и на их основе бы делал каждый шаг грид (все равно положение меняется и его надо перестраивать) расставлял бы где препятствия и расчитывал путь

Aleksandr- Автор вопроса
George
мы же говорим только про архитектуру части которая...

про поиск пути мы здесь не говорим, здесь идется разговор про систему постоения карты(инфы которая будет использована для пп)

Aleksandr
про поиск пути мы здесь не говорим, здесь идется р...

ну появляется новый объект (препятствие,игрок) пусть добавляет себя в класс назови просто World а там уже внутри этого World делай с ним что хочешь

Aleksandr- Автор вопроса
George
ну появляется новый объект (препятствие,игрок) пус...

тут возникает нужда в поведенчиском паттерне

Aleksandr- Автор вопроса
George
ну появляется новый объект (препятствие,игрок) пус...

Как мне выбрать нужный паттерн в этом месте?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта