方法注入

方法注入是一种将依赖关系注入到处理中的细粒度方法。考虑一种基于当前日期进行一些处理的方法。当前日期很难从测试中更改,因此将日期传递到要测试的方法要容易得多。

public void ProcessRecords(DateTime currentDate)
{
    foreach(var record in _records) 
    {
        if (currentDate.Date > record.ProcessDate)
        {
            // Do some processing
        }
    }
}