Setter注入实例代码依赖注入学习示例
Setter注入实例代码 Code:IServiceClass
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SetterInjection
{
internal interface IServiceClass
{
String ServiceInfo();
}
}
Code:ServiceClassA
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SetterInjection
{
internal class ServiceClassA : IServiceClass
{
public String ServiceInfo()
{
return "我是ServceClassA";
}
}
}
Code:ServiceClassB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SetterInjection
{
internal class ServiceClassB : IServiceClass
{
public String ServiceInfo()
{
return "我是ServceClassB";
}
}
}
Code:ClientClass
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SetterInjection
{
internal class ClientClass
{
private IServiceClass _serviceImpl;
public void Set_ServiceImpl(IServiceClass serviceImpl)
{
this._serviceImpl = serviceImpl;
}
public void ShowInfo()
{
Console.WriteLine(_serviceImpl.ServiceInfo());
}
}
}
Code:Context
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SetterInjection
{
class Program
{
static void Main(string[] args)
{
IServiceClass serviceA = new ServiceClassA();
IServiceClass serviceB = new ServiceClassB();
ClientClass client = new ClientClass();
client.Set_ServiceImpl(serviceA);
client.ShowInfo();
client.Set_ServiceImpl(serviceB);
client.ShowInfo();
}
}
}
331.5KB
文件大小:
评论区