static void Main(string[] args) { // if write by yourself? // Design: // Service: // PaymentService - IPaymentService, BasicPaymentService // ShippingService - IShippingService, FedexShippingService, UPSShippingService // AccerlerationService - IAccelerationService, OrderAccelerationService // Model: // OnlineStore - IOnlineStore, OnlineStore, FastOnlineStore // Factory - IOnlineStoreFactory // Scripts: // OnlineStoreCreateScripts // OnlineStoreUpdateScripts IPaymentService paymentService = new BasicPaymentService(); IShippingService shippingService = new FexedShippingService(); IOnlineStoreFactory onlineStoreFactory = new BasicOnlineStoreFactory(paymentService, shippingService); CreateOnlineStoreScript onlineStoreScript = new CreateOnlineStoreScript(onlineStoreFactory); IOnlineStore onlineStore = onlineStoreScript.Run(); onlineStore.OrderItem("Long", "iPad"); }
static void Main(string[] args) { // Setup dependencies. IPaymentService paymentService = new BasicPaymentService(); IShippingService shippingService = new FedexShippingService(); // Setup scripts. CreateOnlineStoreScript createScript = new CreateOnlineStoreScript(paymentService, shippingService); UpdateOnlineStoreScript updateScript = new UpdateOnlineStoreScript(paymentService, shippingService); // Execute create script. IOnlineStore store = createScript.Run(); store.OrderItem("Sean", "Motherboard"); // Execute update script. store = updateScript.Run(); store.OrderItem("Sean", "CPU"); }
static void Main(string[] args) { // if write by yourself? // Design: // Service: // PaymentService - IPaymentService, BasicPaymentService // ShippingService - IShippingService, FedexShippingService, UPSShippingService // AccerlerationService - IAccelerationService, OrderAccelerationService // Model: // OnlineStore - IOnlineStore, OnlineStore, FastOnlineStore // Factory - IOnlineStoreFactory // Scripts: // OnlineStoreCreateScripts // OnlineStoreUpdateScripts // Setup dependencies. IPaymentService paymentService = new BasicPaymentService(); IShippingService shippingService = new FedexShippingService(); IOrderAccelerationService accelerationService = new OrderAccelerationService(); IOnlineStoreFactory onlineStoreFactory = new BasicOnlineStoreFactory(paymentService, shippingService); // Setup scripts. CreateOnlineStoreScript createScript = new CreateOnlineStoreScript(onlineStoreFactory); UpdateOnlineStoreScript updateScript = new UpdateOnlineStoreScript(onlineStoreFactory); // Execute create script. IOnlineStore store = createScript.Run(); store.OrderItem("Sean", "Motherboard"); // Execute update script. store = updateScript.Run(); store.OrderItem("Sean", "CPU"); }
static void Main(string[] args) { // Design // Model: // OnlineStore - IOnlineStore, BasicOnlineStore // Service // PaymentService // ShippingService // AccelerationService // factory!! for dependency inversion implmentation IPaymentService paymentService = new PaymentService(); IShippingService shippingService = new ShippingService(); IOnlineStoreFactory onlineStoreFactory = new OnlineStoreFactory(paymentService, shippingService); CreateOnlineStoreScript createOnlineStoreScript = new CreateOnlineStoreScript(onlineStoreFactory); IOnlineStore onlineStore = createOnlineStoreScript.Run(); onlineStore.OrderItem("Long", "iPad"); }