How Dependency Inversion Relies on Inversion of Control | Interface Masterclass Series

preview_player
Показать описание
#softwaredevelopment #abstraction #softwaredesign

Most developers pretend to know what these terms are. But also, most developers pretend to finish their user stories by the end of the sprint, so maybe we are not a very honest breed to begin with.

In this video, I want to provide a clear disambiguation between dependency inversion, inversion of control and dependency injection. All this, just to mash them up again in the end, showing how they can work together in a wonderful way.

Preparing and producing this video took a big chunk of time out of the last three weeks. I hope it benefits you!

Find me elsewhere:

00:00 Intro
00:50 High- and low-level modules
02:12 What is a dependency?
02:54 The problem of traditional dependency
05:28 Inverting the dependency?
06:05 Adding abstraction
06:44 Dependency inversion!
08:57 The D in SOLID principles
10:04 Benefits of inverting the dependency
11:14 The problem of traditional control
12:28 Inverting control
13:18 Dependency injection
15:24 Dependency inversion loves inversion of control
16:50 It's all about abstraction!
17:30 Outro
Рекомендации по теме
Комментарии
Автор

I've been using depencency injection and it is great when unit testing. This goes a bit deeper - the stuff with the higher-level module owning the abstract interface sounds really interesting. Do you know some good real-world examples of how this is done? Thank you!. Second question - what to do if the software is not static collection of objects but objects need to be created anytime at runtime? Who creates these objects?

MrBrownpotato
Автор

Probably first time in life i see formal explanation with definitions which is not boring and very clear with accents on typical mistakes or misunderstandings.
Excelent job, i must switch to green tea too if it have such effects 😉

AK-vxdy
Автор

So what if you have two components that require a common abstraction? Who owns it and who defines it?

Kenny-stcg
Автор

Could you please explain this concepts in Rust?))

visit shbcf.ru