0

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为所有......BusinessLogicLoggerDataAccess3 classes respectively

如果是这样,correct implementation for Dependency Injection那么让我知道improvements or suggestions代码(如果有的话)......

或者,如果是的话NOT correct,建议我进行修改以实现相同的效果。

提前致谢!

4

0 回答 0