Size: a a a

Software Design/Architecture/Zen

2021 May 05

M

Maxim Kainov in Software Design/Architecture/Zen
Может и так
источник

F

Forestoff in Software Design/Architecture/Zen
Я конечно не уверен, но скорее всего сервис должен это делать
источник

T🐜

The Ant 🐜 in Software Design/Architecture/Zen
сделай отдельный объект\функцию, который будет представлять операцию трансфера.
источник

AV

Alexey Vetrov in Software Design/Architecture/Zen
Я вот сейчас углубляюсь и немного не могу понять разницу, когда объект должен себя сам протектить и когда протектить его должен вышестоящий сервис допустим.
Где можно вот про эту грань почитать?
источник

SB

Sergei Baikin in Software Design/Architecture/Zen
В ооп
Обект который себя не протектит это структура
никакого отношения к ооп и обектам не имеет
источник

AV

Alexey Vetrov in Software Design/Architecture/Zen
хорошо, как в данном случае объект должен протектить себя?
источник

VS

Vlad Sobenko in Software Design/Architecture/Zen
В фп не обьекты чтоле?
источник

SB

Sergei Baikin in Software Design/Architecture/Zen
Tell don't ask знаменитый
Information hiding (см GRASP для примера)
Ну и алана кея про его объекты изначальные которые сообщениями обмениваются
источник

M

Maxim Kainov in Software Design/Architecture/Zen
Это по ситуации надо смотреть, как удобнее
источник

VS

Vlad Sobenko in Software Design/Architecture/Zen
Теперь понятно) Очень полезно))
источник

AV

Alexey Vetrov in Software Design/Architecture/Zen
ну у меня 2 варианта. либо в команде хранить id на чемпионат и когда игрока трансферим - проверить в нем

class Player{
private Team team;

function transfer(Team newTeam)
{
     if(newTeam.championship.isEquals(this.team.championship)
         // бросаем исключение
     // трансферим игрока
}
}
источник

M

Maxim Kainov in Software Design/Architecture/Zen
Есть ооп подход, когда данные инкапсулируются, и есть процедурный подход, когда метод работает со структурой
источник

AV

Alexey Vetrov in Software Design/Architecture/Zen
либо должен делать вышестоящий сервис, который вызывает метод
источник

VS

Vlad Sobenko in Software Design/Architecture/Zen
Выглядит не очень.
Игрок знает и кишки тимы и кишки чемпионата. Каша.
источник

VS

Vlad Sobenko in Software Design/Architecture/Zen
Можно [team1, team2] = transfer(playerId, team1Init, team2Init)
источник

AL

Anton Lakotka in Software Design/Architecture/Zen
фраза достойная @ebanatics
источник

M

Maxim Kainov in Software Design/Architecture/Zen
Скажешь, не так?
источник

M

Maxim Kainov in Software Design/Architecture/Zen
Че молчишь?
источник

AL

Anton Lakotka in Software Design/Architecture/Zen
нечего сказать просто
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Ну тоесть связанность на уровне базы. Ок
источник