Software Architecture: Dependency Injection for C# Devs (Udemy.com)
Learn Dependency Injection techniques along with an IoC-framework (DI-Container). Grow Architecture applying DI.
Created by: Engineer Spock
Last updated July 2020
What you will learn
- Deeply understand the concepts of Dependency Injection and Inversion of Control
- Apply Dependency Inversion Principle (DIP) in practice
- Understand the concept of DI-Containers (IoC-Containers)
- Build a trivial IoC-Container on your own
- Apply existing IoC-Containers (frameworks)
- Refactor your code by applying DI coming up with significantly improved Architecture
- Write unit tests (this course includes introduction to Unit Testing)
- Apply AOP (aspect-oriented programming) techniques
How it compares
Against the other 194 rated Udemy courses in C# on CourseDuck:
- Rating4.0 out of 5higher than 9% of them
- Reviews411#94 of 195 by number of reviews
- Length5.3 hoursshorter than 53% of them
- Last updatedJuly 2020earlier than 61% of them
Course Description
Dependency Injection is the set of techniques that allow to supply dependencies to objects. Actually, if you have ever passed dependenciesviaconstructors, then you applied the so-calledconstructor injection. Dependency Injection (DI) is simple and difficult at the same time. On one hand, DI is comprised of simple techniques and on the other hand, when we need to bring DI to the next level, we need to make things more complicated using the so-called DIor IoC (Inversion of Control) Containers. These are the frameworks which perform dependency injection automatically. You just need to set one up in the application root (an extremely importantnotion which you'll learn about in the course) and after that, it will resolve all the dependencies it knows about in the runtime.
If you still don't understandwhat am I talking about, just believe me,you absolutely need to know about Dependency Injection. This course will tremendously improve your understanding of how softwarearchitectures emerge. So, this course is "must watch" for anyone who still doesn't understand what is DI and IoC-Containers.
Content and OverviewThis course is aimed at all kind of developers.
It provides solid theoretical base reinforced by practical material. The course covers:
Introduction to Inversion of Control: DependencyInversion Principle (DIP), Inversion of Control (IoC), Dependency Injection (DI),Dependencies and their types, Pure DI and IoC-Containers, Service LocatorThe Architectural Implications of Dependency InjectionDI-related Anti-Patterns &Refactorings:
Control Freak, Hidden Dependencies, Temporal Coupling, Constructor Over-Injection and how to avoid it, Ambient Context, Facade Service, Property Injection vs Bastard Injection, Cyclic DependenciesRefactoring Example ofan existing code base applying Dependency InjectionHow to reap the fruits of DIDI-Containers (IoC-Containers):
Overview, Unity, Late Binding with Unity, Aspect-Oriented Programming (AOP), Interception vs Pure DI vs AOPTools,Setting up a bootstrapper with Unity, Autofac and Castle.
WindsorIntroduction to Unit TestingTeaching ApproachNo fluff, no ranting, no beating the air. I respect your time. The course material is succinct, yet comprehensive. All the important concepts are covered. Particularly important topics are covered in-depth.
Take this course, and you will be satisfied.
Who this course is for:
Any C# developer who wants to learn about Dependency Injection and IoC-Frameworks
Instructor Details
- 4.0 Rating
411 Reviews
Engineer Spock
I'm thankful enough for that I love what I do.
I began my career as a postgraduate student participating in Microsoft ImagineCup contest.
I've been working with .NET platform since 2003. I've been professionally architecting and implementing software for nearly 7 years, primarily based on .NET platform. I'm passionate about building rich and powerful applications using modern technologies. I'm a certified specialist in Windows Applications and Service Communication Applications by Microsoft. I'm one of the coordinators of the MSK.NET User Group in Moscow.
"If it's work, we try to do less. If it's art, we try to do more." - Seth Godin.
What I can say is that software is my art.
More courses by Engineer Spock
Algorithms and Data Structures in C#: Complete Tutorial (2026)
4.6 (2,310 Reviews)
Provider: Udemy
Time: 18.5h
$64.99
Learn Enterprise WPF with XAML from Scratch (2020)
4.1 (1,503 Reviews)
Provider: Udemy
Time: 5.1h
$11.99
Software Architecture: Meta and SOLID Principles in C# (2020)
4.3 (1,310 Reviews)
Provider: Udemy
Time: 4.8h
$11.99
Master the Art of Writing Clean Code in C# (2020)
4.5 (1,231 Reviews)
Provider: Udemy
Time: 7.2h
$79.99
More C# courses
C# Developers: Double Your Coding Speed with Visual Studio (2018)
4.7 (4,035 Reviews)
Provider: Udemy
Time: 2.2h
$13.99
Object Oriented Programming with C# - Beginner to Advanced (2020)
4.7 (2,063 Reviews)
Provider: Udemy
Time: 5.6h
$64.99
Learn Game Development with C# Programming and MonoGame! (2025)
4.7 (1,094 Reviews)
Provider: Udemy
Time: 6.6h
$12.99
Reviews
By Miguel Nunes on 11/23/2020
This course is all about Mark Seeman articles/book/examples and felt that the author could not use its own examples and words to explain the topics
By Habibul Bashar on 11/7/2020
Yes.
By Camilo Forero Gonzalez on 9/25/2020
The code examples before and after for all of the examples are needed to understand the refactors. The last part was clear but would be great to have the code exercises.
By Petr Zvodn on 8/2/2020
Good course, lector is acknowledged about the topic and seems to be passionate about helping people become better programmers. I would just appreciate more engagement with students, to motivate me to be more active during the course - some challenges, don't copy & paste code so the student is motivated to write stuff and think about what he/she is writing. More challenges.
In general, I learned a lot and got nice overview about the topic.
By Pablo Andrs Argente on 7/7/2020
Buen curso, recomendable, el autor explica de manera detallada pero a la vez no demasiado extensa. Su ingls se entiende muy bien para una persona cuyo idioma nativo no es ingls.
By Ivan Temelkov on 5/14/2020
DI is a very important topic and in my opibion the instructor is well prepared.
By Jordan Johnson on 5/14/2020
Great course! Good examples. Crucial topics that I need for my everyday job.
By Petros Manesis on 4/23/2020
The speaker has really deep knowledge of dependency injection. I would like the course to be even more practical with more code examples of DOs and DON'Ts and best practices regarding dependency injection.
By Martijn den Hoedt on 2/24/2020
Bad english, hard to keep listening. Expected explanation how a unit testing framework is implemented, but none of that is included in the course.
By Glauber Ataide on 11/23/2019
A good introduction, I expected more advanced themes and discussions, but it's ok. I really didn't understand what the bonus lectures on unit tests have to do with the rest of the course. Of course DI is very important to make our classes and methods testable, but no DI at all was used in the bonus lectures.
By Karim Usama on 10/27/2019
I dunno what to say, i started MVVM course(which i didnt understand )and suddenly in the middle of it he says that i have to buy this course to understand the rest of MVVM course , and when i bought it find myself again not understanding anything, suddenly u find urself infront a huge blocks of code that i do not understand and instead of writing it slowly to give me a better understanding for each line, he fast forward the course which makes the u understanding a disaster and some times turns off the voice too . Briefly it is a total waste of money
By Ajinkya on 8/22/2019
Too much Theoretical explanation. The examples could be more realistic scenarios.
The volume is too low. A bit of boring.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 80 / 100












