Join Károly Nyisztor for an in-depth discussion in this video Dependency inversion, part of iOS Development: Architecture.
- The Dependency Inversion Principle…is one of the main pillars of reusability…in object-oriented systems.…Let's start with the definition,…which consists of two parts.…High-level modules should not depend on…lower-level modules.…Both should depend on abstractions.…Abstractions should not depend on details.…Details should depend on abstractions.…Now, these rules may sound complicated at first…but they boil down to removing the dependencies.…
Let me illustrate the concept…through an example.…You've got the Persistence class.…You can see it at line four.…It can save objects of data…to a given location…pointed to by a url.…The Persistence class uses an instance…of the logger class…to produce log messages.…The Logger class is defined at line 17.…In this scenario, Persistence is a high-level class…and Logger is a lower-level class.…There's a tight coupling between the Persistence…and the Logger classes.…
If the Logger class' interface changes,…we need to modify the Persistence class as well.…The goal of the Dependency Inversion Principle…
- Unified Modeling Language (UML)
- Use case, class, and sequence diagrams
- App state preservation and restoration
- Fundamental architectural design patterns
- Model-view-controller (MVC) and model-view-presenter (MVP)
- Implementing one-way binding
- App stage changes
- Building responsive apps
- SOLID principles
- Exchanging information between apps
- Optimizing your apps to avoid excessive CPU usage
Skill Level Intermediate
What you should know1m 5s
1. UML Basics
2. The iOS App Life Cycle
3. Fundamental Architectural Design Patterns
4. App State Transitions
5. Building Responsive Apps
6. The SOLID Principles
7. Communication between Apps
8. Efficiency and Performance
Optimizing for performance3m 19s
Next steps1m 14s
- Mark as unwatched
- Mark all as unwatched
Are you sure you want to mark all the videos in this course as unwatched?
This will not affect your course history, your reports, or your certificates of completion for this course.Cancel
Take notes with your new membership!
Type in the entry box, then click Enter to save your note.
1:30Press on any video thumbnail to jump immediately to the timecode shown.
Notes are saved with you account but can also be exported as plain text, MS Word, PDF, Google Doc, or Evernote.