Responsibility Principle • O – The Open-Closed Principle • L – The Liskov Substitution Principle • I – Interface Segregation Principle • D – The Dependency Inversion Principle
гибкой разработки” Модули верхнего уровня не должны зависеть от модулей нижнего уровня. И те и другие должны зависеть от абстракций. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.
(instancetype)initWithClient:(id <RCMRPCClient>)client validator:(id <RCMValidator>)validator mapper:(id <RCMMapper>)mapper; @end Создание операции с Initializer Injection:
Поддерживает модульность • Полная интеграция со Storyboard • Initializer, Property и Method Injection • Поддерживает circular dependencies • Всего 3000 строчек кода
Очень сложный дебаггинг • Если Typhoon перестанут поддерживать, из проекта его не выпилить • Но… там же свиззлинг! • Зачем мне Typhoon, когда я могу написать свой велосипед?