forked from ninject/ninject.github.com
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
101 lines (100 loc) · 4.45 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
---
layout: default
title: Open source dependency injector for .NET
---
<link rel="prefetch" href="Content/images/headers.png">
<div class="prev arrow"></div>
<div class="next arrow"></div>
<div id="cards">
<div id="card-1" class="card">
<h2>Bend software to your will</h2>
Stop writing monolithic applications that make you feel like you have to move mountains to make the simplest of changes.
Ninject helps you use the technique of <em>dependency injection</em> to break your applications into <em>loosely-coupled,
highly-cohesive</em> components, and then glue them back together in a flexible manner.
</div>
<div id="card-2" class="card">
<h2>Laugh in the face of change</h2>
Change is inevitable, so be prepared. Ninject allows you to <em>embrace change</em> in your software's design, so it will
be easier to adjust it to <em>match changing business needs</em> and expectations. Then, the next time someone asks for
a "small" change to your application, you can <em>laugh in triumph</em> rather than quivering in pain.
</div>
<div id="card-3" class="card">
<h2>Use your sharpest tools</h2>
Once you break your application into components, you have to glue them back together. Rather than depending on a bunch of
XML to describe how the pieces fit together, Ninject uses a powerful <em>fluent interface</em>. This lets you get the
most out of the sharpest tools in your arsenal: your compiler and your IDE.
</div>
<div id="card-4" class="card">
<h2>Write smarter software everywhere</h2>
Dependency injection isn't just for big enterprise applications; with the right framework, you can apply the practice to
improve software projects of <em>all sizes and types</em>. Ninject was designed to be ultra-lightweight and universal.
It also <em>runs practically anywhere</em>, including on Mono, the .NET Compact Framework, and Silverlight.
</div>
<div id="card-5" class="card">
<h2>Be fast, be agile, be precise</h2>
Ninject makes dependency injection <em>so easy</em> that it becomes hard not to follow good practices. Once you start
writing your applications with dependency injection in mind, your code will be easier to understand, easier to change,
and less error-prone. Simply put, Ninject makes your application <em>more ninja-like!</em>
</div>
</div>
<div id="examples" class="container_12">
<div class="grid_6">
<div class="code-sample">
<h3>Write your code so it's flexible...</h3>
<pre class="syntax brush-csharp">
public class Samurai {
public IWeapon Weapon { get; private set; }
public Samurai(IWeapon weapon) {
Weapon = weapon;
}
}
</pre>
</div>
</div>
<div class="grid_6">
<div class="last code-sample">
<h3>...and let Ninject glue it together for you.</h3>
<pre class="syntax brush-csharp">
public class WarriorModule : NinjectModule {
public override void Load() {
Bind<IWeapon>().To<Sword>();
}
}
</pre>
</div>
</div>
</div>
<div id="bottom" class="container_12">
<div class="grid_4">
<div class="section">
<h3>Why is Ninject useful?</h3>
The vast majority of effort that is invested in software happens <em>after the initial release</em>. Because
Ninject makes your software much <em>easier to change</em>, a small up-front time investment will pay huge
dividends as time goes on.
</div>
</div>
<div class="grid_4">
<div class="section">
<h3>What makes Ninject different?</h3>
An obsessive focus on <em>simplicity</em> and <em>ease of use</em>. We've seen the value of dependency
injection, but were frustrated by the complexity of existing solutions. The goal of Ninject is make dependency
injection accessible to <em>all developers</em> and <em>all projects</em>.
</div>
</div>
<div class="grid_4">
<div class="last section">
<h3>How much does it cost?</h3>
Ninject is and will always be <em>free</em> for both personal and commercial projects. It's also <em>open source</em>,
so you can fork <a href="http://github.com/ninject/ninject" target="_blank">the code</a> and make any changes
you like. (We appreciate it if you share anything useful you come up with us, though!)
</div>
</div>
</div>
<script src="Scripts/syntaxhighlighter/jquery.syntax.js" type="text/javascript"></script>
<script src="Scripts/syntaxhighlighter/jquery.syntax.cache.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
jQuery.syntax({blockLayout: 'plain', theme: 'modern'});
initializeDefaultLayout();
});
</script>