Я обнаружил, что недавно я реализовывал интерфейсы Mapping на классах, которые на поверхности соответствуют модели (они, по сути, являются просто хранилищами значений ключей без метаданных), но под ними они иногда довольно сложны.
Вот несколько примеров увеличения серьезности:
- Объект, который оборачивает другое отображение, преобразуя все объекты в строки, когда установлен.
- Объект, который использует локальную базу данных в качествесерверная часть для хранения пар ключ-значение.
- Объект, который отправляет HTTP-запросы удаленным серверам для получения / установки данных.
Предположим, что все эти примеры беспрепятственно реализуютСопоставление интерфейса и единственное указание на то, что происходит что-то подозрительное, заключается в том, что доступ к элементу потенциально может занять несколько секунд, и элемент может не быть извлечен в той же форме, что и сохраненный (если вообще).Я совершенно доволен чем-то вроде первого примера, со вторым довольно хорошо, но с последним мне становится немного неловко.
Вопрос в том, есть ли линия, на которой API для этих моделейне следует использовать доступ к элементу, даже если базовая структура может показаться, что она умещается на поверхности?