Software Architecture- Dependency Injection for C# Devs
- Development
- Dec 23, 2024

Software Architecture: Dependency Injection for C# Devs, available at $54.99, has an average rating of 4, with 86 lectures, based on 406 reviews, and has 6012 subscribers.
You will learn about 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 This course is ideal for individuals who are Any C# developer who wants to learn about Dependency Injection and IoC-Frameworks It is particularly useful for Any C# developer who wants to learn about Dependency Injection and IoC-Frameworks.
Enroll now: Software Architecture: Dependency Injection for C# Devs
Summary
Title: Software Architecture: Dependency Injection for C# Devs
Price: $54.99
Average Rating: 4
Number of Lectures: 86
Number of Published Lectures: 86
Number of Curriculum Items: 86
Number of Published Curriculum Objects: 86
Original Price: $44.99
Quality Status: approved
Status: Live
What You Will Learn
Who Should Attend
Target Audiences
Build a solid foundation in software architecture applying Dependency Injection with IoC-Containers
In many of my courses I use techniques of Dependency Injection and each time students write me private messages saying that they don’t what it is and thus they don’t understand what’s going on in the course I teach. This is very unfortunate from the learning perspectives.
Dependency Injection is the set of techniques that allow to supply dependencies to objects. Actually, if you have ever passed dependencies via constructors, then you applied the so-called constructor 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 DI or 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 important notion 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 understand what am I talking about, just believe me, you absolutely need to know about Dependency Injection. This course will tremendously improve your understanding of how software architectures emerge. So, this course is “must watch” for anyone who still doesn’t understand what is DI and IoC-Containers.
Content and Overview
This 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:
Dependency Inversion Principle (DIP), Inversion of Control (IoC), Dependency Injection (DI),
Dependencies and their types, Pure DI and IoC-Containers, Service Locator
The Architectural Implications of Dependency Injection
DI-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 Dependencies
RefactoringExample of an existing code base applying Dependency Injection
How to reap the fruits of DI
DI-Containers (IoC-Containers):
Overview, Unity, Late Binding with Unity, Aspect-Oriented Programming (AOP), Interception vs Pure DI vs AOP Tools,
Setting up a bootstrapper with Unity, Autofac and Castle.Windsor
Introduction to Unit Testing
Teaching Approach
No 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.
Course Curriculum
Chapter 1: Before taking the Course
Lecture 1: How to Ask Questions
Lecture 2: Introduction to Unit Testing
Lecture 3: Download Source Code and Slides
Lecture 4: English Subtitles
Lecture 5: Join .NET Community of Students
Chapter 2: Dependency Inversion Principle and Dependency Injection
Lecture 1: Outline
Lecture 2: Definition of DIP
Lecture 3: Dependencies
Lecture 4: Volatile and Stable Dependencies
Lecture 5: Definitions of IoC and DI
Lecture 6: DIP Violation Demo
Lecture 7: Refactoring to a Better Design Applying Dependency Injection
Lecture 8: Dependency Injection Techniques
Lecture 9: Architectural Implications
Lecture 10: Common Smells of DIP Violation
Lecture 11: Conclusion
Chapter 3: Introduction to IoC-Containers (or DI-Containers)
Lecture 1: Outline
Lecture 2: Pure DI and IoC-Containers
Lecture 3: Building a Simple IoC-Container
Lecture 4: Service Locator Design Pattern
Lecture 5: Demo With an IoC-Container
Lecture 6: Conclusion
Chapter 4: Dependency Injection – Related Anti-Patterns & Refactorings
Lecture 1: Outline
Lecture 2: Control Freak
Lecture 3: Hidden Dependencies with Service Locator
Lecture 4: Temporal Coupling and Constructor Injection
Lecture 5: Constructor Over-Injection
Lecture 6: Ambient Context
Lecture 7: Facade Service
Lecture 8: Property Injection VS Bastard Injection
Lecture 9: Cyclic Dependencies
Lecture 10: Conclusion
Chapter 5: Dependency Injection Real-World Example
Lecture 1: Outline
Lecture 2: Application Overview
Lecture 3: Data Access and Models
Lecture 4: UI-Side
Lecture 5: The Problem of Tight Coupling
Lecture 6: Refactoring Process
Lecture 7: Isolating the Bootstrapper
Lecture 8: Consequences
Lecture 9: Conclusion
Chapter 6: Reaping the Fruits of DI
Lecture 1: Outline
Lecture 2: Adding New DAL
Lecture 3: Writing Unit Tests for View Models
Lecture 4: Conclusion
Chapter 7: DI-Containers (IoC-Frameworks)
Lecture 1: Outline
Lecture 2: Overview of DI-Containers
Lecture 3: Unity DI-Framework
Lecture 4: Late Binding with Unity
Lecture 5: Aspect-Oriented Programming (AOP)
Lecture 6: Demonstration of the Problem of Boilerplate Code
Lecture 7: Implementing AOP by Intercepting
Lecture 8: Interception vs Pure DI vs AOP Tooling
Lecture 9: Autofac and Castle.Windsor DI-Containers
Lecture 10: Problems Related to DI-Containers
Lecture 11: Conclusion
Lecture 12: BONUS Lecture
Chapter 8: Appendix. Intro to Unit Testing. Getting Started
Lecture 1: Outline
Lecture 2: What is a Unit Test
Lecture 3: Unit Testing Frameworks
Lecture 4: Your First Unit Test
Lecture 5: Naming Conventions
Lecture 6: Running and Debugging Unit Tests
Lecture 7: Benefits of Unit Tests
Lecture 8: Who Should Write Unit Tests and When
Lecture 9: Programmers Oath
Lecture 10: Exercise: Degree Converter
Lecture 11: Solution: Degree Converter
Lecture 12: Conclusion
Chapter 9: Appendix. Intro to Unit Testing. NUnit Framework
Lecture 1: Outline
Lecture 2: Assert Intro
Lecture 3: Assert Demo
Lecture 4: Arrange-Act-Assert
Lecture 5: Running Tests from the Console
Lecture 6: SetUp and TearDown
Lecture 7: OneTimeSetUp and OneTimeTearDown
Lecture 8: Parameterized Unit Tests
Lecture 9: Grouping and Ignoring Unit Tests
Lecture 10: Code Coverage
Lecture 11: Exercise: FizzBuzz
Lecture 12: Solution: FizzBuzz
Lecture 13: Exercise: Parsing Roman Numerals
Lecture 14: Solution: Parsing Roman Numerals
Lecture 15: Exercise: Stack
Lecture 16: Solution: Stack
Lecture 17: Conclusion
Instructors

Engineer Spock
Software Engineer – 1000+ Reviews, Average Score – 4.5
Rating Distribution
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
- Random Picks
- Popular
- Hot Reviews
- How to ace job interviews-
- Accounting is Boring
- Investing in Stocks- Master The Art of Covered Calls Selling
- YouTube Masterclass The Best Guide to YouTube Success
- Advanced Photoshop Manipulations Tutorials Bundle
- Life Insurance Annuity Ultimate Buyer’s Guide
- 3DS Max Tutorial. Learn The Art of Modelling and Animation
- Personal Finance
- 1YouTube Masterclass The Best Guide to YouTube Success
- 2Photoshop CC- Adjustement Layers, Blending Modes Masks
- 3Personal Finance
- 4The Architecture of Oscar Niemeyer
- 5Advanced Photoshop Manipulations Tutorials Bundle
- 6SolidWorks Essential Training ( 2023 2024 )
- 7Python for Absolute Beginners
- 8Marketing Mix Modeling in one day for your Brand Analytics_1
- 1Linux Performance Monitoring Analysis Hands On !!
- 2Content Writing Mastery 1- Content Writing For Beginners
- 3Media Training for PrintOnline Interviews-Get Great Quotes
- 4Learn Facebook Ads from Scratch Get more Leads and Sales
- 5The Complete Digital Marketing Course Learn From Scratch
- 6C#- Start programming with C# (for complete beginners)
- 7[FREE] How to code 10 times faster with Emmet
- 8Driving Results through Data Storytelling