0
我想基于this article实现依赖注入。 在这篇文章中,有两种类型的游戏之一使用微软统一的依赖注入
一个)井字
b)中TrivialPursuit
类型注册由下面的代码
// Declare a Unity Container
var unityContainer = new UnityContainer();
// Register IGame so when dependecy is detected
// it provides a TrivialPursuit instance
unityContainer.RegisterType<IGame, TrivialPursuit>();
// Instance a Table class object through Unity
var table = unityContainer.Resolve<Table>();
Console.WriteLine(table.GameStatus());
Console.ReadLine();
如果我不得不做多个游戏并且希望业务层中的一些逻辑来决定选择哪个游戏
a)井字棋
B)马里奥
C)TrivialPursuit
请问我要单独注册三个游戏。如果我需要确保它适用于所有游戏,并且代码可以根据传递的游戏选择游戏,那么最佳方法是什么?
有没有Vb.net的例子。
// Declare a Unity Container
var unityContainer = new UnityContainer();
string game ;
if(game="tictactoe")
{
// it provides a TictacToe instance
unityContainer.RegisterType<IGame, TictacToe>();
// Instance a Table class object through Unity
var table = unityContainer.Resolve<Table>();
Console.WriteLine(table.GameStatus());
Console.ReadLine();
}
elseif(game="TrivialPursuit")
{
// Register IGame so when dependecy is detected
// it provides a TrivialPursuit instance
unityContainer.RegisterType<IGame, TrivialPursuit>();
// Instance a Table class object through Unity
var table = unityContainer.Resolve<Table>();
Console.WriteLine(table.GameStatus());
Console.ReadLine();
}
elseif(game="Mario")
{
// Register IGame so when dependecy is detected
// it provides a Mario instance
unityContainer.RegisterType<IGame, Mario>();
// Instance a Table class object through Unity
var table = unityContainer.Resolve<Table>();
Console.WriteLine(table.GameStatus());
Console.ReadLine();
}
顺便说一句,我没有在这里看到任何vb.net –