1.主要方法
class Program
{
static void Main(string[] args)
{
ILogger _log = new Logger();
IDataAccess _da = new DataAccess();
BusinessLogic bs = new BusinessLogic(_log,_da);
bs.ProcessData();
Console.ReadLine();
}
}
2.BusinessLogic类实现IBusinessLogic接口
class BusinessLogic : IBusinessLogic
{
ILogger _log;
IDataAccess _dataAccess;
public BusinessLogic(ILogger log, IDataAccess dataAccess)
{
_log = log;
_dataAccess = dataAccess;
}
public void ProcessData()
{
_log.Log("Start");
Console.WriteLine("process");
_dataAccess.LoadData();
_dataAccess.SaveData("processInfo");
_log.Log("Finish");
}
}
3.Logger类实现ILogger接口
class Logger : ILogger
{
public void Log(string p)
{
Console.WriteLine(p);
}
}
4、DataAccess类实现IDataAccess接口
class DataAccess : IDataAccess
{
public void LoadData()
{
Console.WriteLine("Loaddata");
}
public void SaveData(string name)
{
Console.WriteLine("Saving Data");
}
}
4. 接口
interface IBusinessLogic
{
void ProcessData();
}
interface ILogger
{
void Log(string p);
}
interface IDataAccess
{
void LoadData();
void SaveData(string name);
}
关于上面的代码,我3 interfaces
为所有......BusinessLogic
Logger
DataAccess
3 classes respectively
如果是这样,correct implementation for Dependency Injection
那么让我知道improvements or suggestions
代码(如果有的话)......
或者,如果是的话NOT correct
,建议我进行修改以实现相同的效果。
提前致谢!