Book Image

Mastering Ninject for Dependency Injection

By : Daniel Baharestani
Book Image

Mastering Ninject for Dependency Injection

By: Daniel Baharestani

Overview of this book

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.
Table of Contents (12 chapters)

About the Reviewers

Remo Gloor has worked as a Software Architect at bbv Software Services AG in Switzerland for many years. During this time, he was using Ninject in several projects. At the beginning, he was a user of Ninject. Later, he contributed with several extensions. In 2010, he became manager and the main contributor to Ninject, which was developed originally by Nate Kohari and Ian Davis.

Besides his interest in dependency injection and IoC containers, he has also a strong interest in service-oriented and message-driven architectures, as well as event sourcing. Because of this, he contributed to the ActiveMq support to NServiceBus.

He blogs on http://www.planetgeek.ch/author/remo-gloor/ mainly about Ninject. He also answers many Ninject-related questions on stackoverflow: http://stackoverflow.com/users/448580/remo-gloor.

Daniel Allen is a Chicago-based developer who specializes in ASP.NET MVC 4 development and enterprise architecture design. He develops primarily in C#, JavaScript, and Objective-C. Because of his heavy focus on enterprise architecture design, Dan has experience in an array of patterns and tools that he has effectively and logically combined together to meet a project's unique needs. Dan holds a B.S. in Management Information Systems and an MBA with a concentration in Information Systems.

Dan spends much of his free time working on development-related side contracts and searching for the next great startup idea. He aspires to start a consulting firm that will provide capital for the various startup ideas one day. For recreation, he enjoys training and competing in various marathons, and aspires to complete a full iron man competition one day.

He has formerly worked with Millennium Information Services, Inc. as an ASP.NET MVC Web Developer. His primary tasks in this role were MVC 4 Razor development, HTML 5 frontend GUI design, enterprise architecture design, and WCF, Oracle database, and agile development. He has also worked for Arc Worldwide / Leo Burnett as an Associate Software Engineer. His primary tasks in this role were ASP.NET Web Forms development, frontend GUI design, and he also worked on SQL Server database. Dan has also worked with American Concrete Pavement Association as a Software Engineer. His primary tasks in this role were ASP.NET Web Forms and MVC 4 development, iOS mobile development, and SQL Server database, graphics and media development.

For Dan's complete professional history and his online interactive portfolio, please visit http://www.apexwebz.com.

Matt Duffield is a software architect, and has over 17 years of experience working in IT. He enjoys building a rich line of business applications that focus on great user experiences while providing excellent business intelligence, such as dashboards and expert systems. His current focus is on client-side MVC architecture and building cross-platform solutions. Matt is very active in the community, speaking at user groups and code camps. He is an INETA speaker and a Microsoft MVP in client development. He is the co-author of Microsoft Silverlight 5: Building Rich Enterprise Dashboards, Packt Publishing. His blog can be found at http://mattduffield.wordpress.com. You can follow him on Twitter at @mattduffield. Matt is also the leader of the Charlotte ALT.NET user group (http://www.meetup.com/charlottealtnet/) and Charlotte Game Dev user group (http://www.meetup.com/Charlotte-Game-Dev/). He is also the Vice President of the Charlotte Enterprise Developers Guild (http://www.developersguild.org/) and also board member of the Carolina Code Camp.

Ted Winslow has been one of those programmers who impressed the likes of NASA and Boeing with his skills behind a keyboard ever since his sixth grade. Even when he isn't working for one of the big names, he's freelancing for multimillion-dollar shops, and considers writing code a way to relax in his downtime. He started writing code while young and did it with little more than a basic starter book and a half-broken computer. Against all odds, he has now a lengthy and respected work history with code chops for which large and small companies hunger. Nowadays, he's spotted helping people in his free time to make sure the young programmers understand and have a chance to live their dream, even when the odds are stacked against them.