Size: a a a

Software Design/Architecture/Zen

2021 January 29

Р

Руслан in Software Design/Architecture/Zen
@LongMinasteriet
Бойцы,  дело серьёзное. Застрял в ванне собственных сомнений. нужны идеи или совет опытных вождей.
Знаю синтаксис c# , знаю немного Ms SQl,  Linq.
Какой проэкт реализовать (  конкретный пример ) что бы использовать свои навыки и  в резюме потом записать. Моя цель это backed разработка.
Суть в том что не могу понять куда двигаться и за что браться. Потому прошу помощи у тех кто уже прошёл этот этап и знает куда надо воевать, что бы не стоять на месте. Буду очень признателен.
Что уже написал, до того, как такая мысль возникла? Покажешь?
источник

I

Ioann_V in Software Design/Architecture/Zen
Алексей Гевондян
в общем вернись на исходную, и выпиши характеристики и действия объектов. свойства и методы т.е., не думай вообще о наследовании.
А вот смотри, в примере с кирпичиком и очками, у меня такой вопрос. Почему сколько дают очков за разрушение, должно храниться именно в кирпичике? Это гибко и удобно, не спорю. Но почему владением занимается именно сам объект?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Ioann_V
А вот смотри, в примере с кирпичиком и очками, у меня такой вопрос. Почему сколько дают очков за разрушение, должно храниться именно в кирпичике? Это гибко и удобно, не спорю. Но почему владением занимается именно сам объект?
Тут спорно - "сущность" кирпичика не обязана быть объектом в системе, это может быть просто идентификатор а за очки может отвечать другой объект. Попытка моделировать систему сущностями часто приводит к пухнущим объектам. Это скорее всего идёт от мега упрощённой интерпретации "модели реального мира".

Если у тебя миллион кирпичиков и надо постоянно обращаться за очками то можно напороться на такой нюанс "реального мира" как расположение данных в памяти. В случае с моделированием через сущности будет оч много кэш мисов, потому игроделы обычно вещают о том что ооп это плохо.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Так же "ооп это плохо" будут вещать люди которые такую же декомпозицию через большие сущности понимают но работают скажем с распределенными системами
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Принцип локальности данных мол
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Спойлер - ооп ему не противоречит. Просто надо перестать думать мячами и кирпичиками и воспринимать объекты как процессы
источник

I

Ioann_V in Software Design/Architecture/Zen
Sergey Protko
Спойлер - ооп ему не противоречит. Просто надо перестать думать мячами и кирпичиками и воспринимать объекты как процессы
Да. Собственно моя начальная задача, в том, что я решил сделать игру на ООП, а не КОП ака ECS и понять, тае ли все плохо. Но чтобы это понять, мне важно правильно использовать ООП.
источник

I

Ioann_V in Software Design/Architecture/Zen
Вот я не понимаю в упор, почему цена кирпичика(за разрушение) должна храниться в кирпичике?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Ioann_V
Да. Собственно моя начальная задача, в том, что я решил сделать игру на ООП, а не КОП ака ECS и понять, тае ли все плохо. Но чтобы это понять, мне важно правильно использовать ООП.
Я в целом думаю что ecs ближе к ооп)
источник

I

Ioann_V in Software Design/Architecture/Zen
У меня в голове, сидит иерархия, в которой есть cost_object, и кирпичик поле агрегируемое в нем.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Ioann_V
Вот я не понимаю в упор, почему цена кирпичика(за разрушение) должна храниться в кирпичике?
Не должна, ну тоесть это один из вариантов. В ооп у тебя данные и поведение должны быть инкапсулированы. дальше проблема в том что обычно собирают данные по кучкам (мол вот это про кирпичек и вот то) а потом пихают поведение в то что вышло. Но можно и по другому - взять поведение и поместить в имя этого поведения необходимые оному данные
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Ioann_V
У меня в голове, сидит иерархия, в которой есть cost_object, и кирпичик поле агрегируемое в нем.
Иерархии плохая идея
источник

AS

Aleksandr Semyanniko... in Software Design/Architecture/Zen
Sergey Protko
Спойлер - ооп ему не противоречит. Просто надо перестать думать мячами и кирпичиками и воспринимать объекты как процессы
А есть хорошее чтиво которое делает акцент на объект=процесс?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Aleksandr Semyannikov
А есть хорошее чтиво которое делает акцент на объект=процесс?
Доки по симула и смолтоку)
источник

I

Ioann_V in Software Design/Architecture/Zen
Sergey Protko
Иерархии плохая идея
Ну, я скорее, про то, что будет класс cost_object и два поля в нем - какой то объект, и его цена?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Ioann_V
Ну, я скорее, про то, что будет класс cost_object и два поля в нем - какой то объект, и его цена?
Хорошая это идея или нет зависит от того как данные юзать я будут.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Aleksandr Semyannikov
А есть хорошее чтиво которое делает акцент на объект=процесс?
Если серьезно можешь погуглить какие высказывания Алана Кея на эту тему, можешь погуглить и его интервью с создателем erlang - он там неплохую ретроспективу развитию ооп делал. Ну и публикации по actor model
источник

AS

Aleksandr Semyanniko... in Software Design/Architecture/Zen
Sergey Protko
Если серьезно можешь погуглить какие высказывания Алана Кея на эту тему, можешь погуглить и его интервью с создателем erlang - он там неплохую ретроспективу развитию ооп делал. Ну и публикации по actor model
Спасибо!
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Ооп которое в плюсах ничем от структурного программирования не отличается, потому тут просто нет смысла искать интересные идеи
источник

SP

Sergey Protko in Software Design/Architecture/Zen
А "другое" ооп сегодня только в erlang или вот все эти попытки играть в микросервисы
источник