public Journal(List <JournalPage> pages, IJournalPagePrinter printer) { _pages = pages ?? throw new ArgumentNullException(nameof(pages)); _printer = printer ?? throw new ArgumentNullException(nameof(printer)); }
public JournalWithLogging(List <JournalPage> pages, IJournalPagePrinter printer, ILogger logger) { _pages = pages ?? throw new ArgumentNullException(nameof(pages)); _printer = printer ?? throw new ArgumentNullException(nameof(printer)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
public Journal(IJournalPagePrinter printer) // cuando generas un nuevo journal necesitas siempre un printer { _pages = new List <JournalPage>(); _printer = printer ?? throw new ArgumentNullException(nameof(printer)); //Si envías un objeto por parámetro y es nullo, envias un throw new ArgumentNullException. }
ILogger _logger; // dependencia public JournalWithLogging(IJournalPagePrinter printer, ILogger logger) // lo que son asociaciones se injectan { _pages = new List <JournalPage>(); // model data se nstancian a mano _printer = printer ?? throw new ArgumentNullException(nameof(printer)); //se pasa por constructor, que guarde el printer. La variable que va a retener las printers. _logger = logger ?? throw new ArgumentNullException(nameof(logger)); }