@romicohen
Системный Архитектор

Какие шаблоны проектирования подходят для оптимизации маркетплейса (принять Order JSON API в одном формате и транслировать в другой)?

Типовая ситуация:

1. Мне клиент присылает JSON с сущностью Order.

2. Я конвертирую этот JSON в какой-то немного другой формат, делаю какие-то там операции с этими полями, и отдаю стороннему сервису в новом формате, тоже через JSON API.

Вопрос такой:

- Можно ли как-то оптимизировать этот процесс, если есть несколько входящих форматов JSON и несколько исходящих форматов? И если да - как именно? Какой паттерн проектирования здесь наиболее уместен?

Речь идет о PHP (Laravel).

Например, приходит:

{
orderId,
items: [
{id,
name}
]
}


а отдаю я

{
orderId,
items: [
{uuid,
name}
]
}


или

{
orderId,
cart: [
{uuid,
name}
]
}


в зависимости от сервиса.

Есть ли тут какие-то типовые решения, трюки, в общем, всё, что хорошо бы знать заранее, а не разрабатывать на граблях ))
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ответы на вопрос 1
vitaly_74
@vitaly_74
ответ на первый вопрос - адаптер (потому что вы преобразовываете объект в другую сущность)
др. словами:
при одном типе запроса, мы преобразовываем объект 1 в объект 2 и отдаем обратно (адаптер 1)
при втором типе запроса, мы преобразуем объект 3 в объект 2 и отдаем обратно (адаптер 2)
либо можете рассмотреть паттерн стратегии. будет тоже самое. но мне кажется лучше использовать адаптер.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽