BarbarianIOC簡單的 IoC 容器
BarbarianIOC 是一個簡單的 .NET 實現的 IoC 容器,示例代碼:
Container = new Container();
int someMockAge = 23; // this could come from anywhere (App.Config / database etc etc)
//Register ALL components
container.RegisterComponents(
//where you can use concrete type
new Component().For<Foo>().WithInstanceMode(InstanceMode.Transient),
//or you can use an interface and it's implementation
new Component().For<IBaz>().ImplementedBy<Baz>().WithInstanceMode(InstanceMode.Transient),
//and you can also declare singleton instance mode if you like
new Component().For<SomeIBazDependantClass>().WithInstanceMode(InstanceMode.Singleton),
//and even supply some non IOC provided constructor params by way of an anonymous object
new Component().For<SomeFooDependantClass>()
.DependsOn(new
{
age=someMockAge
})
.WithInstanceMode(InstanceMode.Transient)
);
//allow the container to wire stuff up (essentially create Expression.New for all
//components to allow Container to compile and create some quicker lookup delegates)
container.WireUp();評論
圖片
表情
