/// <summary> /// Acts like a composition root for the Hexagonal Architecture. /// </summary> public static IReserveTrainSeats ComposeTheHexagon(IProvideBookingReferences bookingReferenceProvider, IProvideTrainData trainDataProvider) { var ticketOffice = new TicketOffice(bookingReferenceProvider, trainDataProvider); var reservationAdapter = new CliReservationAdapter(ticketOffice); return(reservationAdapter); }
public TicketOffice(IProvideBookingReferences bookingReferenceProvider, IProvideTrainData trainDataProvider) { this.bookingReferenceProvider = bookingReferenceProvider; this.trainDataProvider = trainDataProvider; }