InfoQ

News

Interview : Nate Kohari on Releasing Ninject 1.0

Posted by Robert Bazinet on Jun 17, 2008 09:44 AM

Community
.NET,
Architecture
Topics
Object Oriented Design ,
Loose Coupling
Tags
Dependency Injection

In this interview with Nate Kohari, creator of the Ninject dependency injection container for .NET, talks about the release of version 1.0 of Ninject.  The interview has taken place over the past weeks leading up to the release of Ninject 1.0.

Nate goes into detail why Ninject was created, its capabilities, how it's different then the competition and much more.   Ninject supports the following platforms:

  • .NET Framework 2.0, 3.0 and 3.5
  • .NET Compact Framework 2.0 and 3.5 (Ninject.Core and Ninject.Conditions)
  • Silverlight 2.0 beta 2 (Ninject.Core, Ninject.Conditions, and all shipping extensions)

Features of Ninject 1.0 include:

  • Constructor, property, method, and field injection
  • Instantiation behaviors (singleton, one-per-thread, one-per-request)
  • Fluent interface for declaring type bindings
  • Contextual bindings, where the selection of which type to instantiate can be delayed until activation
  • Support for instance scope and deterministic disposal
  • Fully pluggable, modular design: each kernel component can be easily replaced to alter the framework’s behavior
  • Lightweight interceptor support (aspect-oriented programming)
  • Integrations with other popular frameworks

Please check out the complete interview Nate Kohari on Releasing Ninject 1.0.

1 comment

Reply

Congratulations Nate by Al Tenhundfeld Posted Jun 17, 2008 2:26 PM
  1. Back to top

    Congratulations Nate

    Jun 17, 2008 2:26 PM by Al Tenhundfeld

    I've experimented with Ninject a little, and it feels much more intuitive to use than the other frameworks I've tested (Spring.NET & Windsor). I think Ninject is a major new contender in the DI/IOC arena, and if it's not attractive enough to pull people away from the other established DI frameworks, it should at least be enough to push the other vendors towards higher usability.

Exclusive Content

Clojure

Rich Hickey discusses Clojure features and syntax, example code, functional programming, concurrency semantics, transactions, software transactional memory, agents, implementation and pain points.

Composite Oriented Programming with Qi4j

We introduce the concept of Composite Oriented Programming, and show how it avoids the issues with OOP and reignites the hope of being able to compose domain models with reusable pieces.

Dan Farino About MySpace’s Architecture

Dan Farino talks about the system architecture and the challenges faced when building a very large online community. Dan explains how a .NET product scales on hundreds of servers.

Principles and Practices of Lean-Agile Software Development

Alan Shalloway, CEO and founder of Net Objectives, presents the Lean software development principles and practices and how they can benefit to Agile practitioners.

The Maxine VM

Bernd Mathiske discusses Maxine VM, Java compatibility, swapping major VM components, research areas, Object handling, code examples, optimizing compiler, snippets, bytecode generation, JNI and JIT.

Joe Armstrong About Erlang

Joe Armstrong speaks on various aspects of the Erlang language, presenting its roots, how it compares with other languages and why it has become popular these days.

The Limits of Code Optimization: a new Singleton Pattern Implementation

The java double-check singleton pattern is not thread safe and can’t be fixed. In this article, Dr. Alexey Yakubovich provides an implementation of the Singleton pattern that he claims is thread-safe.

Pressure and Performance – The CTO's Dilemma

Diana and Jim talk about patterns observed in CTOs' activity. CTOs emerge as real people caring for other people in their organization, and are put under a lot of pressure and constraints.