Как правильно расширить объекты чистой архитектуры?
Я пытаюсь использовать чистую архитектуру в своем проекте приложения для Android. Я все еще пытался понять все концепции, но я думаю, что получил большинство основ вниз. Однако есть все еще особенности, которые я не могу обернуть вокруг.
Например, скажем, у меня есть WeatherData
сущность на моем доменном уровне. Эта сущность имеет следующие поля:
- температура
- место нахождения
- влажность
- давление
- часовой пояс
Однако, давайте предположим, что я решил изменить свой погодный API, и в новом API я получил дополнительные поля, такие как:
- вероятность осадков
- облачность
- уф индекс
- озон
Последние поля недоступны в моем предыдущем API, но я хотел бы отобразить их в своем приложении в качестве дополнительной функции. Таким образом, очевидным действием является то, что я должен обновить свою сущность домена, чтобы включить эти дополнительные поля. Однако, основываясь на том, что я понял на принципах чистой архитектуры, это полностью нарушает правило зависимости, в котором на объект домена никоим образом не должны влиять внешние уровни, такие как уровень данных, в котором находится мой API.
Так есть ли способ, где я могу расширить возможности моего доменного объекта, в то же время делая его независимым от фреймворка и API?