-
CREATIONAL: Como crear objetos.
- Builder, Dependency Injection, Singleton
-
STRUCTURAL: Como componer objetos.
- Adapter: Hace que clases incompatibles sean compatibles entre sí.
- Facade: Una clase que representa un subsistema completo.
- Decorador: Permite agregar funcionalidad a un objeto sin alterar su estructura.
-
BEHAVIORAL: Como coordinar interacciones entre objetos.
- Command, Observer, Model View Controller, Model View ViewModel, Viper Clean Architecture
- Design Patterns explained simply Source Making
- Design Patterns on iOS using Swift Raywenderlich
- Common Design Patterns for Android with Kotlin Raywenderlich
- Dependency Injection Wikipedia
- Design Patterns Tutorials Point
- VIPER iOS Building Todo List iOS App with VIPER Architecture
Single Respon., class only sing respon.
Open/Close., class o module oopen to extension, close to modification
Liskov substitution principle, objects should be replaceable with instances of their subtypes
Interface Segregation., client should not be forced to use an interface irrelevant to it.
Dependency Inversion, High Class not depende on low level class, both depends on abstractions.