コード例 #1
0
        /// <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);
        }
コード例 #2
0
 public TicketOffice(IProvideBookingReferences bookingReferenceProvider, IProvideTrainData trainDataProvider)
 {
     this.bookingReferenceProvider = bookingReferenceProvider;
     this.trainDataProvider        = trainDataProvider;
 }