Size: a a a

Software Design/Architecture/Zen

2021 June 16

K

Konstantin in Software Design/Architecture/Zen
Это разнаряд рабочий и танцор и жнец и на дуде игрец.
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
В маленькой компании в проекте с двумя программистами - ок
источник

АГ

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

K

Konstantin in Software Design/Architecture/Zen
источник

SP

Sergey Protko in Software Design/Architecture/Zen
В маленькой компании не нужен архитект
источник

K

Konstantin in Software Design/Architecture/Zen
Тут стратегия какая должна быть. Нельзя говорить, помогать и советовать, направлять. Попытки развиться пресекать. Сам поймёт? Тогда хорошо. А пока, радость - в неведении.
источник

A

Artjom Kalita in Software Design/Architecture/Zen
источник

SP

Sergey Protko in Software Design/Architecture/Zen
очередная бесполезная статья с кратким пересказом Эванса
источник
2021 June 17

ch

central hardware in Software Design/Architecture/Zen
источник
2021 June 18

П

Павел in Software Design/Architecture/Zen
Привет, нужен коллективный разум. Есть сервер клиент работает через RPC и обмениваются серилизованными java объектами. Делаю rest API. Получаю DTO и конвертирую в domain объект. И отдаю сервису. Сейчас дошел до метода executeOrder(OrderRequest)

В OrderRequest есть енамка Action и много полей. В зависимости от action используются разные поля из реквеста.

Вот думаю как лучше организовать API.
1. Создать для каждого action свой ендпоинт со своей DTO м нужными полями.
2. Повторить структуру domain объекта в DTO. Один ендпоинт принимает реквест по action делегирует выполнение команде(применю этот паттерн)
источник

П

Павел in Software Design/Architecture/Zen
В первом случае на каждый action свой метод API. Много методов.
Во втором случае клиенту нужно понимать какие поля при каком action  передавать.
источник

DE

Dmitry Eliseev in Software Design/Architecture/Zen
Удобнее много специализированных методов
источник

OK

Oleg Krasavin in Software Design/Architecture/Zen
Первый. SRP во все поля, да и вадидация будет проще.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Первый вариант - разные операции разные методы api
источник

SP

Sergey Protko in Software Design/Architecture/Zen
По аналогии с любым rpc
источник

П

Павел in Software Design/Architecture/Zen
Спасибо за ответы выше. Ещё уточнение, /api/orders/draft  создает ордер, а потом обновляет его, пользователь последовательно заполняет и переходит по шагам. Каким должен быть метод POST или PATCH? Или два метода?
источник

SF

Segmentation Fault in Software Design/Architecture/Zen
PATCH - обновление
POST - создание
источник

П

Павел in Software Design/Architecture/Zen
Спасибо кэп. Я потому и спрашиваю)
источник

SF

Segmentation Fault in Software Design/Architecture/Zen
Ты так сформулировал вопрос, что иначе его не понять…
источник

П

Павел in Software Design/Architecture/Zen
Все нормально сформировано. Ожидается два варианта ответа.
1. Метод POST или PATCH
2. нужно два метода - каждый для своей задачи.

Конечно по логике два надо, но часто, даже в springData есть метод save() который либо создаёт либо обновляет запись. И он один. Вот насколько кашерно такое делать в REST API
источник