Free Sample
+ Collection

Mastering Ninject for Dependency Injection

Daniel Baharestani

For .NET developers and architects, this is the ultimate guide to the principles of Dependency Injection and how to use the automating features of Ninject in the most effective way. Packed with examples, diagrams, and illustrations. how Ninject facilitates the implementation of dependency injection to solve common design problems of real-life applications with this book and ebook
RRP $19.99
RRP $32.99
Print + eBook

Want this title & more?

$12.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781782166207
Paperback142 pages

About This Book

  • Create loosely coupled applications by implementing dependency injection using Ninject
  • Learn how to design an enterprise application so as to maximize its maintainability, extensibility and testability
  • Automate the process of dealing with the dependencies of your application and object lifetimes
  • Address the cross-cutting concerns of your applications in the easiest way
  • Full of real-life, step-by-step examples and clear code samples

Who This Book Is For

Mastering Ninject for Dependency Injection is aimed at software developers and architects who wish to create maintainable, extensible, testable, and loosely coupled applications. Since Ninject targets the .NET platform, this book is not suitable for software developers of other platforms. Being familiar with design patterns such as singleton or factory would be beneficial, but no knowledge of dependency injection or IoC is assumed.

Table of Contents

Chapter 1: Understanding Dependency Injection
What is Dependency Injection?
How can DI help?
My First DI Application
DI Containers
Why use Ninject?
Chapter 2: Getting Started with Ninject
Hello Ninject!
It's all about Binding
Object Lifetime
Ninject modules
XML configuration
Convention over configuration
Chapter 3: Meeting Real-world Requirements
DI patterns and antipatterns
Multi binding and contextual binding
Custom providers
Dynamic factories
Chapter 4: Ninject in Action
Windows Forms applications
WPF and Silverlight applications
ASP.NET MVC applications
WCF applications
ASP.NET Web Forms applications
Chapter 5: Doing More with Extensions
Mocking Kernel
Extending Ninject

What You Will Learn

  • Understand dependency injection, how it is different from similar patterns such as inversion of control, and the problems that it addresses
  • Set up Ninject in an application and configure it either using XML or programmatically
  • Learn how to control object life-time by configuring object scopes
  • Wire up abstract service types to concrete implementations using bindings
  • Create plugins to add new features to compiled applications dynamically
  • Use Ninject in different application types such as Win Forms, Web Forms, WPF, Silverlight, ASP.NET MVC, and WCF
  • Inject common loggers such as log4net and NLog automatically into application components
  • Test application units and automate the injection of mock objects by integrating Ninject with common mock frameworks (for example Moq or Rhino Mock)
  • Register hundreds of bindings in a single line of code using the Convention configuration
  • Inject the implementation of cross-cutting concerns such as logging, exception handling, or caching by interception

In Detail

Dependency injection is an approach to creating loosely coupled applications. Maintainability, testability, and extensibility are just a few advantages of loose coupling. Ninject is a software library which automates almost everything that we need in order to implement a dependency injection pattern.

Mastering Ninject for Dependency Injection will teach you everything you need to know in order to implement dependency injection using Ninject in a real-life project. Not only does it teach you about Ninject core framework features that are essential for implementing dependency injection, but it also explores the power of Ninject’s most useful extensions and demonstrates how to apply them.

Mastering Ninject for Dependency Injection starts by introducing you to dependency injection and what it’s meant for with the help of sufficient examples.

Eventually, you’ll learn how to integrate Ninject into your practical project and how to use its basic features. Also, you will go through scenarios wherein advanced features of Ninject, such as Multi-binding, Contextual binding, providers, factories and so on, come into play. As you progress, Mastering Ninject for Dependency Injection will show you how to create a multilayer application that demonstrates the use of Ninject on different application types such as MVC, WPF, WCF, and so on. Finally, you will learn the benefits of using the powerful extensions of Ninject.


Read More