Контекст DCI в веб-приложении
Я думаю, как и когда контекст DCI может быть использован в веб-приложении. Я рассматриваю этот вариант использования высокого уровня:
- Пользователь вводит город, прибытие, отъезд, тип номера и нажимает кнопку "Поиск".
- Система отображает список отелей
- Пользователь нажимает на логотип отеля, чтобы прочитать подробности
- Система отображает информацию об отеле
- Пользователь нажимает "Забронировать сейчас"
- Система отображает форму оплаты
- Пользователь вводит данные клиента, платежную информацию и нажимает кнопку "Отправить".
- Система проверяет платежную информацию и отображает подтверждение бронирования.
Это очень высокий уровень, и его обязательно нужно разбить. Первые шаги (1-2, 3-4, 5-6) напоминают простые запросы ресурсов, которые можно обрабатывать с помощью некоторой архитектуры поиска и REST. Итак, мой первый вопрос: нужен ли в этих случаях контекст DCI, разве недостаточно простого MVC? Конечно, сущность данных "Гостиница" может сыграть свою роль, но считаете ли вы ее осуществимой, особенно если это единственный актер?
Последний шаг - это то, где я вижу, что DCI может быть очень полезен, поскольку сейчас есть работа, которую нужно выполнить процедурным образом. (Создание клиента, добавление бронирования в отель, отправка письма с подтверждением...)
Что вы думаете об этом? Я на правильном пути?
1 ответ
Я думаю, я бы сказал, что контекст начинается с шага 2. У вас есть список предложений, которые играют определенную роль. В настоящее время эти предложения являются предложениями отелей, но что такое предложение отелей? они могут быть разными вещами. Некоторые могут быть от брокеров, а некоторые могут быть напрямую из отелей, это два разных типа объектов, но они играют одинаковую роль в этом контексте, у вас может быть гораздо больше типов, некоторые из которых могут быть контекстами самого себя. Например, перелет и отель в сочетании с предложением, в котором в этом контексте играет роль отель / брокер и предложение дешевого рейса, но в указанном сценарии использования вам не нужно беспокоиться об этом, а просто сделать это возможным для домена развиваться независимо от варианта использования, и хотя вариант использования - это забронировать дешевый отель, я бы сказал, что форму, которую мы пытаемся получить, можно выразить лучше (хотя и не точно) с помощью "найти лучшее предложение"
Тогда при выборе конкретного предложения я бы согласился, что вы начинаете новый контекст