1. Main Method
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 Class implements IBusinessLogic interface
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 Class implements ILogger interface
class Logger : ILogger
{
public void Log(string p)
{
Console.WriteLine(p);
}
}
4. DataAccess Class implements IDataAccess interface
class DataAccess : IDataAccess
{
public void LoadData()
{
Console.WriteLine("Loaddata");
}
public void SaveData(string name)
{
Console.WriteLine("Saving Data");
}
}
4. Interfaces
interface IBusinessLogic
{
void ProcessData();
}
interface ILogger
{
void Log(string p);
}
interface IDataAccess
{
void LoadData();
void SaveData(string name);
}
With respect to the above code i have 3 interfaces
for BusinessLogic
, Logger
and DataAccess
for all 3 classes respectively
.....
If this is the correct implementation for Dependency Injection
then let me know the improvements or suggestions
for the code if any.....
OR incase it is NOT correct
, suggest me the modifications to achieve the same.
Thanks In Advance!