Size: a a a

Golang Developers — русскоговорящее сообщество

2020 October 22

D

Dmitry in Golang Developers — русскоговорящее сообщество
Анатолий
а зачем тебе в жсон это совать?
пока не дошел до баз, и просто реализовал файловый репозиторий
а джсон для сериализации
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
но с удовольствием послушаю идеи другие для сериализации обьекта в го
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
ты не в том направлении копаешь, забудь про инкапсуляцию на ближайший месяц, оно само собой через небольшое время придет когда с пакетами нормально поработаешь
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
потом к ней вернешься но уже с другими взглядами
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
Анатолий
ты не в том направлении копаешь, забудь про инкапсуляцию на ближайший месяц, оно само собой через небольшое время придет когда с пакетами нормально поработаешь
ну вот я в качестве опытного "проекта" хочу реализовать круд для юзеров через базу + кеш
не хотелось бы сразу писать сущность открытую, это приведет к проблемам в будущем
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
поэтому сразу и ищу варианты инкапсуляции данных, закрыв их от прямого изменения
в целом я могу открыть поля, не проблема, но хочу сразу понимать как мне их потом закрывать, предпочтительный способ или общепринятый
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
не приведет если смотреть на это как на структуру а не как на класс, это просто данные которые ты берешь из одного места и кладешь в другое
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
Анатолий
не приведет если смотреть на это как на структуру а не как на класс, это просто данные которые ты берешь из одного места и кладешь в другое
хорошо, а как в таком случае реализуется сущность в терминах ддд в го ?
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
есть данные - структура, есть репозиторий который эти данные получает, есть юскейсы которые эти данные изменяет/аггрегирует и есть какой нибудь деливери который эти данные отдает/принимает извне
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
структура это просто данные которые берешь из одного места и отдаешь в другое
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
и да, их нужно менять иногда
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Анатолий
мне кажется ты слишком зацикливаешься на инкапсуляции
+
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
согласен с вами, такой подход имеет место быть
грубо говоря
controller - handler -> get struct from repo-> change struct data -> save struct in repo?
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
точно
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
пока что предстваь структуры как хеш, не закрывай
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
ага, и это общепринятый подход в го? я правильно понял ?
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
в большинстве случаев данные открыты, закрывают при необхоимости
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
т.е по сути вся бизнес логика у нас находится в хендлерах ?
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
а всякие ассерты на данные можно провести через методы самой структуры вроде User.ChangeEmail(value){
assert.isEmail(value)
user.email = value
}

примерно так ?
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
Dmitry
т.е по сути вся бизнес логика у нас находится в хендлерах ?
в ддд обычно 3 слоя:
слой который работает с данными извне
бизнесс логика
работа с хранилищем
источник