Size: a a a

2020 July 28

ЕО

Евгений Омельченко... in Go-go!
🅚🅘🅝🅓🅔🅡🅦🅞🅝🅓
в форме на определенную урлу отправляю данные
на сервере вешаю на эту урлу обработчик, но он впринципе не отрабатывает

как корректно сделать обработку и отправку формы?
Без кода ничего непонятно. Отправка формы это просто POST-запрос с определенным content-type
источник

М

Михаил in Go-go!
Евгений Омельченко
ActiveRecord это способ доступа к данным базе, интерфейс. Он не вынуждает вас тянуть одну сущность сквозь всё приложение
Так в любом случае смешивается логика представления и хранения сущности
источник

🅚

🅚🅘🅝🅓🅔🅡🅦🅞🅝🅓... in Go-go!
Евгений Омельченко
Без кода ничего непонятно. Отправка формы это просто POST-запрос с определенным content-type
на playground кинуть или сюда кодом/скринами?
источник

ЕО

Евгений Омельченко... in Go-go!
🅚🅘🅝🅓🅔🅡🅦🅞🅝🅓
на playground кинуть или сюда кодом/скринами?
На playground
источник

🅚

🅚🅘🅝🅓🅔🅡🅦🅞🅝🅓... in Go-go!
источник

ЕО

Евгений Омельченко... in Go-go!
Михаил
Так в любом случае смешивается логика представления и хранения сущности
Что значит "логика представления"?  SRP говорит о том, что одна сущность кода должна отражать один источник изменения внешних условий. User-представления меняется только если меняется база данных, User-логики меняется, если меняются требования бизнес-логики.
источник

М

Михаил in Go-go!
Евгений Омельченко
Что значит "логика представления"?  SRP говорит о том, что одна сущность кода должна отражать один источник изменения внешних условий. User-представления меняется только если меняется база данных, User-логики меняется, если меняются требования бизнес-логики.
А где и как из User-представления сделать User-логики?
источник

АД

Алексей Долгов... in Go-go!
Евгений Омельченко
Что значит "логика представления"?  SRP говорит о том, что одна сущность кода должна отражать один источник изменения внешних условий. User-представления меняется только если меняется база данных, User-логики меняется, если меняются требования бизнес-логики.
и в каком из фреймворков есть такой классный ActiveRecord? Чем Data Mapper не устраивает, раз идет разделение?
источник

ЕО

Евгений Омельченко... in Go-go!
Михаил
А где и как из User-представления сделать User-логики?
В слое бизнес-логики, что значит как?

u, err := usersvc.New(ud)
источник

ЕО

Евгений Омельченко... in Go-go!
Алексей Долгов
и в каком из фреймворков есть такой классный ActiveRecord? Чем Data Mapper не устраивает, раз идет разделение?
Вопрос философский, а почему не репозиторий?
источник

AC

Andrey Chiganov in Go-go!
Евгений Омельченко
Что значит "логика представления"?  SRP говорит о том, что одна сущность кода должна отражать один источник изменения внешних условий. User-представления меняется только если меняется база данных, User-логики меняется, если меняются требования бизнес-логики.
Плюсую
Многие новички приследуют только DRY и использую объект модели везде. Честно говоря, иногда просто лень писать 3 сущности на каждый аспект, особенно если у них одинаковые поля, и методы сериализации одной в другую, но опыт показывает что это спасает от выстрелов в ногу и помогает управлять сложностью проекта, хоть в начале и происходит некоторое переусложнение.
источник

М

Михаил in Go-go!
Евгений Омельченко
В слое бизнес-логики, что значит как?

u, err := usersvc.New(ud)
И когда я вызову save(), то он внутри создаст новый объект, который уже в базу запишется?
источник

DP

Daniel Podolsky in Go-go!
Михаил
И когда я вызову save(), то он внутри создаст новый объект, который уже в базу запишется?
скорее всего. но это хорошо же!
источник

М

Михаил in Go-go!
Daniel Podolsky
скорее всего. но это хорошо же!
Если так, то нарушения SRP действительно не будет, но что-то я такого никогда не видел в коде
источник

AC

Andrey Chiganov in Go-go!
На самом деле, вся эта логика SRP часто плывёт, когда надо писать достаточно БД ориентированную бизнес логику с select for update, транзакциями, их откатом, или update с выражениями прямо в запросе.
источник

ЕО

Евгений Омельченко... in Go-go!
Михаил
И когда я вызову save(), то он внутри создаст новый объект, который уже в базу запишется?
logic.User должен предоставлять законченный интерфейс работы с пользователем и отражать логику работу с ним. Вообще метод Save() звучит как метод билдера, а не самого пользователя
источник

ЕО

Евгений Омельченко... in Go-go!
Абстрактно рассуждая невозможно понять какой вам для пользователя интерфейс нужен
источник

/

/dev/null in Go-go!
Andrey Chiganov
Плюсую
Многие новички приследуют только DRY и использую объект модели везде. Честно говоря, иногда просто лень писать 3 сущности на каждый аспект, особенно если у них одинаковые поля, и методы сериализации одной в другую, но опыт показывает что это спасает от выстрелов в ногу и помогает управлять сложностью проекта, хоть в начале и происходит некоторое переусложнение.
Объект модели очень помогает когда тебе сначала нужно сходить в пакет с БД (получить инфу и переложить ее в модель) потом передать эту модель другому пакету (сущности) которая например добавит в эту модель инфы и передаст ответ, в виде "доменной" модели бизнес логике
источник

/

/dev/null in Go-go!
Если сервис очень простой, типа сходи в бд и отдай репонс на фронт это можно и без моделей это сделать
источник

AC

Andrey Chiganov in Go-go!
/dev/null
Если сервис очень простой, типа сходи в бд и отдай репонс на фронт это можно и без моделей это сделать
Так и делаю)
источник