с примером От Zoran Horvat у меня есть интерфейс Idiscount < /p>
Код: Выделить всё
public interface IDiscount
{
IEnumerable GetDiscount(Money money);
}
Код: Выделить всё
public class NoZeroDiscount(IDiscount other)
{
public IEnumerable GetDiscount(Money money)
{
return other.GetDiscount(money).Where(d => d != 0);
}
}
< /code>
Но если я хочу добавить журнал в этот декоратор, мне пришлось бы принять ilogger в конструкторе, поэтому этот декоратор не так просто, как я хотел бы, особенно если он принимает общий йлоггер. > Наличие такого требования затрудняет экземпляру класса книги. А для таких случаев, как Idiscount, интерфейс должен был измениться, чтобы принять регистратор ... < /p>
public class Book
{
public void ComplexStuff(ILogger logger, ...)
}
Как люди справляются с регистрацией в этих ситуациях для декораторов и моделей доменов, которые вы хотите иметь, и при этом сохраняют простоту использования перед добавлением журнала? < /p>
Подробнее здесь: https://stackoverflow.com/questions/793 ... th-logging
Мобильная версия