Страницы

Поиск по вопросам

понедельник, 9 декабря 2019 г.

Glide для загрузки картинок и Clean архитектура - как быть?

#android #архитектура


Я хочу сделать проект придерживаясь принципа Clean. Но не хочу писать свои велосипеды,
например для загрузки картинок.

Могу ли я использовать Glide в Clean архитектуре?
    


Ответы

Ответ 1



Да, Glide (Picasso, Fresco, UIL и т.д.) можно использовать сразу во View слое. Для их работы необходим Context, поэтому вы не можете добавить непосредственную работу с этими библиотеками в вашу бизнес логику. К тому же, эти библиотеки объединяют в себе как работу слоя данных (получение изображения из сети, его кеширование), так и работу по отображению изображений, что является ответственностью слоя презентации. Если рассматривать библиотеки с этого ракурса, то все выглядит не так радужно. Однако, не стоит забывать, что "архитектура ради архитектуры" - не то, к чему мы стремимся, поэтому нужно находить компромиссы между следованием определённым правилам, появившимся из опыта многих разработчиков, и нашей реализацией, решающей конкретные проблемы. В данном случае, мы можем считать, что вью каким-то образом умеет отображать url картинки как саму картинку. Таким образом, презентер просто будет говорить "отобрази картинку, вот url", и уже во вью вы используете нужную библиотеку. Можно провести аналогию с тем, что при необходимости открытия WebView, мы так же просто передаём ссылку, а отображение страницы - это уже детали реализации.

Комментариев нет:

Отправить комментарий