iOS: Simplifying Dependency Injection with the Facade Design Pattern
Как с умом сочетать паттерны Facade и Dependency Injection, чтобы получить силу обоих, читайте в статье. С помощью протоколов делим Facade на несколько типов, чтобы использовать в классах только нужное, а в тестах это мокировать.
#patterns
Как с умом сочетать паттерны Facade и Dependency Injection, чтобы получить силу обоих, читайте в статье. С помощью протоколов делим Facade на несколько типов, чтобы использовать в классах только нужное, а в тестах это мокировать.
#patterns
❤3👎2👍1
The Chain of Responsibility Pattern in Swift (2 мин)
Цепочка ответчиков реализует возможность обработать запрос нескольким объектом. Отличным примером является концепция responder'ов.
UIKit запускается с элемента управления first responder, который активировал клавиатуру, а затем передает вызов вверх по цепочке до тех пор, пока компонент не сможет выполнить действие.
Шаблон цепочки ответчиков используется для достижения слабой связи при разработке программного обеспечения.
#patterns
Цепочка ответчиков реализует возможность обработать запрос нескольким объектом. Отличным примером является концепция responder'ов.
UIKit запускается с элемента управления first responder, который активировал клавиатуру, а затем передает вызов вверх по цепочке до тех пор, пока компонент не сможет выполнить действие.
Шаблон цепочки ответчиков используется для достижения слабой связи при разработке программного обеспечения.
#patterns
🔥5👍2👎2
Make it for me: Factory pattern and Swift
Используйте фабричный метод, если вы:
👉 заранее не знаете точных типов и зависимостей объектов, с которыми должен работать ваш код
👉 хотите предоставить пользователям вашей библиотеки способ расширения ее внутренних компонентов
👉 хотите сэкономить системные ресурсы за счет повторного использования существующих объектов, а не каждый раз пересобирать их
#patterns
Используйте фабричный метод, если вы:
👉 заранее не знаете точных типов и зависимостей объектов, с которыми должен работать ваш код
👉 хотите предоставить пользователям вашей библиотеки способ расширения ее внутренних компонентов
👉 хотите сэкономить системные ресурсы за счет повторного использования существующих объектов, а не каждый раз пересобирать их
#patterns
👍5👎1