Size: a a a

Software Design/Architecture/Zen

2020 September 25

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Вопрос про формат запроса
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
А не про  "Grasp, data hiding, инкапсуляция, анемичная модель."
источник

AD

Apache DOG™ in Software Design/Architecture/Zen
Vlad Sobenko
За ранее это знать получается очень редко. И вообще скрыть не так то и тяжело. Мне легче делать всё однообразно.
Как говорят в армии: Пусть безобразно, зато однообразно
Это известно
источник

VS

Vlad Sobenko in Software Design/Architecture/Zen
Сергей Предводителев
Вопрос про формат запроса
Вопрос был такой?  - Это норм?
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Vlad Sobenko
Вопрос был такой?  - Это норм?
Переформулирую :)

Вот такой формат запроса по API для изменения данных в объекте:

Сам запрос:

{
 id:42,
 columns: {
   "address": "Russia, Voronezh",
   "name": {
     "firstName": "Ivan",
     "lastName": "Petrov",
   },
 },
}


Норм?
источник

VS

Vlad Sobenko in Software Design/Architecture/Zen
Сергей Предводителев
Переформулирую :)

Вот такой формат запроса по API для изменения данных в объекте:

Сам запрос:

{
 id:42,
 columns: {
   "address": "Russia, Voronezh",
   "name": {
     "firstName": "Ivan",
     "lastName": "Petrov",
   },
 },
}


Норм?
Ну я бы убрал columns. И норм)
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Дальше я так понял война между теми, кто говорит, что логика внутри объекта должна быть и теми, кто говорит, что не должна
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
Vlad Sobenko
Зачем вложенность в запросе. Опять нарушаем дата хайдинг семантически)). Просто 3 поля на одном уровне и хватит.
С таким подходом тебя должно поставить в ступор от того что graphql побеждает, и что RESTfull предполагает что ресурсы передают семантику.
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
И от того что делая плоский dto ты идешь против природы RESTfull
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Nikita Fedorov
И от того что делая плоский dto ты идешь против природы RESTfull
природа RESTful это гипертекст
источник

SP

Sergey Protko in Software Design/Architecture/Zen
а то что ты называешь rest это json rpc over http
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
Sergey Protko
природа RESTful это гипертекст
и он не плоский
источник

VS

Vlad Sobenko in Software Design/Architecture/Zen
Nikita Fedorov
С таким подходом тебя должно поставить в ступор от того что graphql побеждает, и что RESTfull предполагает что ресурсы передают семантику.
Ну мы же можем не показывать реальную структуру базы. А придумать доп уровень.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Vlad Sobenko
Ну мы же можем не показывать реальную структуру базы. А придумать доп уровень.
плоскость и "дублировать структуру базы" это разные вещи. Посмотри на graphql как хороший пример. Красиво ложится на всякие соц сети и прочие гитхабы
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
Sergey Protko
плоскость и "дублировать структуру базы" это разные вещи. Посмотри на graphql как хороший пример. Красиво ложится на всякие соц сети и прочие гитхабы
вот, да, я об этом, а про json rpc over http это все я знаю, я как раз не про него)
источник

SP

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

если у тебя на UI компоненты типа

Пост
  - описание
  - количество комментов
  - тэги

то у тебя будет формироваться похожая структура что бы данные удобно можно было по дереву компонентов раскидывать например. Или там в сторах всяких нормализовывать.

Не знаешь как правильно возьми юайщика и он скажет как ему удобно
источник

SP

Sergey Protko in Software Design/Architecture/Zen
ведь это тупо делать плоскую структуру которую потом надо на клиенте нормализовывать
источник

SP

Sergey Protko in Software Design/Architecture/Zen
а если еще ORM на сервере юзать то это ж восхитительно. Достали из базы - замэпили. Потом замэпили на dto. потом надо еще раз мэпить на другие структуры... и каждый этап шот может пойти не так.

А так вжух вжух структурки попроще и сам будь попроще и проще будет за контрактами следить
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
Sergey Protko
тут скорее структуры должны ориентироваться не на мифическую плоскость или выпухлость а на то как клиент это будет юзать.

если у тебя на UI компоненты типа

Пост
  - описание
  - количество комментов
  - тэги

то у тебя будет формироваться похожая структура что бы данные удобно можно было по дереву компонентов раскидывать например. Или там в сторах всяких нормализовывать.

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

SP

Sergey Protko in Software Design/Architecture/Zen
Nikita Fedorov
ну это если ты фулкек, а так имхо делать более предметную схему для API безотносительно структуры фронта это часто удобнее, т.к. решение о том что нужно на фронте не влияет на то как устроено API бэка, разве что в бэкфорфронт можно так делать
BFF мне нравится так чта
источник