Как стать автором
Обновить

Комментарии 4

Не совсем понятно в чем состоит "ненужность" моделей, тем более что их можно передавать аргументом в функцию (имхо один CreateAccountBody смотрится проще и понятней, чем перечень из 5 параметров)

В самом начале статьи приведен пример в виде LoginRequest модели. Обратите внимание, насколько тяжело читается эта модель. Безусловно, лучше передавать один аргумент вместо 5, но если вы работаете со словарем [String: Any], то избежите большого числа вложенных моделей. Все, что останется - объявить промежуточную модель с теми самыми 5 полями.

В конечном итоге вы можете передавать сам словарь в качестве аргумента.

Просто что я вижу в перспективе:
при развитии апи функция с пачкой параметров не удобна (не расширяема), а значит уже закладывается камень в фундамент будущего рефакторинга
если же передавать словарь, то остается открытым вопрос, кто и где будет валидировать что в словаре. В случае с моделью это частично может сделать компилятор
+ магические строки в качестве ключей словаря

В общем, словарь хорошо если нужно делать быстро, но в перспективе вижу возможные неприятности.

Это ваше видение и вы имеете право иметь свою точку зрения. Я же считаю, что создавать модель избыточно, тем более когда требуется разный naming в модели и json. Представьте, что бы было, если в модель LoginRequest добавить несколько CodingKey перечислений.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории