Обложка канала

iOS Dev

iOS разработчик, который делится фишками, своим опытом и опытом других. В этом канале вы сможете найти истории из жизни, подходы к реализации а также новости и тренды из мира iOS-разработки Авторский канал, iOS разработка

iOS Dev

4 года назад
Открыть в
Упрощение внедрения зависимостей с помощью паттерна «Фасад» в iOS Если мы работаем с приложением со слишком большим количеством модулей и слишком большим количеством зависимостей в каждом из них, может быть сложно подсчитать их все, чтобы внедрить в каждый класс, на который они полагаются. Представьте, например, что в вашем приложении есть слой, который работает с сетевыми вызовами. Для этого вам, конечно, нужен JSONDecoder, несколько объектов DispatchQueue для работы с потоками и параллелизмом, возможно, объект менеджера флагов функций и так далее. Представьте себе, насколько сложным может стать инициализатор для этого класса, поскольку вам нужно передать все эти экземпляры, и более того, чтобы сделать его тестируемым, все они должны быть мокабельны. 📖 Эта статья предлагает отличную комбинацию двух паттернов проектирования (Facade и Dependency Injection). Используя возможности протоколов, рассказывается, как разделить Facade, позволяя каждому классу нашего приложения иметь внутри только те инструменты, которые ему необходимы для выполнения задач. @iOS Dev