Как правильно расширить объекты чистой архитектуры?

Я пытаюсь использовать чистую архитектуру в своем проекте приложения для Android. Я все еще пытался понять все концепции, но я думаю, что получил большинство основ вниз. Однако есть все еще особенности, которые я не могу обернуть вокруг.

Например, скажем, у меня есть WeatherData сущность на моем доменном уровне. Эта сущность имеет следующие поля:

  • температура
  • место нахождения
  • влажность
  • давление
  • часовой пояс

Однако, давайте предположим, что я решил изменить свой погодный API, и в новом API я получил дополнительные поля, такие как:

  • вероятность осадков
  • облачность
  • уф индекс
  • озон

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

Так есть ли способ, где я могу расширить возможности моего доменного объекта, в то же время делая его независимым от фреймворка и API?

0 ответов

Другие вопросы по тегам