如日志這種橫切關(guān)注點(diǎn)锄列,就不適合構(gòu)造注入骨宠,而是適合公共屬性注入赶袄。
public class PersonAppService{
? ? public ILogger Logger { get; set; }
? ? private IPersonRepository _personRepository;
public PersonAppService(IPersonRepository personRepository)
? ? {
? ? ? ? _personRepository = personRepository;
? ? ? ? Logger = NullLogger.Instance;
? ? }
? ? public void CreatePerson(string name, int age)
? ? {
? ? ? ? Logger.Debug("Inserting a new person to database with name = " + name);
? ? ? ? var person = new Person { Name = name, Age = age };
? ? ? ? _personRepository.Insert(person);
? ? ? ? Logger.Debug("Successfully inserted!");
? ? }
}