├── .DS_Store ├── ._.DS_Store ├── Model └── Design Pattern.eap ├── Source Code └── Design_Patterns_Demo │ ├── WebMVC │ ├── Views │ │ ├── _ViewStart.cshtml │ │ ├── Facade │ │ │ ├── Checkout.cshtml │ │ │ ├── AddToCart.cshtml │ │ │ └── Index.cshtml │ │ ├── Proxy │ │ │ ├── Identify.cshtml │ │ │ └── Index.cshtml │ │ ├── Bridge │ │ │ ├── Notify.cshtml │ │ │ └── Index.cshtml │ │ ├── AbstractFactory │ │ │ ├── Process.cshtml │ │ │ ├── Index.cshtml │ │ │ ├── AddWorkItem.cshtml │ │ │ └── ListWorkItems.cshtml │ │ ├── Mediator │ │ │ ├── Index.cshtml │ │ │ ├── StockIn.cshtml │ │ │ └── Order.cshtml │ │ ├── Prototype │ │ │ ├── Index.cshtml │ │ │ ├── RingleFrameworkAdd.cshtml │ │ │ ├── RingleERPCopy.cshtml │ │ │ ├── RingleERP.cshtml │ │ │ └── RingleFramework.cshtml │ │ ├── FactoryMethod │ │ │ ├── Index.cshtml │ │ │ ├── MaintainCustomer.cshtml │ │ │ ├── MaintainSupplier.cshtml │ │ │ └── MaintainProduct.cshtml │ │ ├── Visitor │ │ │ └── Index.cshtml │ │ ├── State │ │ │ └── Index.cshtml │ │ ├── Builder │ │ │ ├── Index.cshtml │ │ │ ├── NewLeave.cshtml │ │ │ └── NewApplyExpense.cshtml │ │ ├── Adapter │ │ │ └── Index.cshtml │ │ ├── Strategy │ │ │ └── Index.cshtml │ │ ├── Singleton │ │ │ └── Index.cshtml │ │ ├── Interpreter │ │ │ └── Index.cshtml │ │ ├── CoR │ │ │ └── Index.cshtml │ │ ├── Home │ │ │ └── Index.cshtml │ │ ├── Composite │ │ │ └── Index.cshtml │ │ ├── Shared │ │ │ └── _Layout.cshtml │ │ ├── web.config │ │ ├── Flyweight │ │ │ └── Index.cshtml │ │ ├── Memento │ │ │ └── Index.cshtml │ │ ├── Decorator │ │ │ └── Index.cshtml │ │ └── TemplateMethod │ │ │ └── Index.cshtml │ ├── Global.asax │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.ttf │ │ └── glyphicons-halflings-regular.woff │ ├── Controllers │ │ ├── HomeController.cs │ │ ├── Creational │ │ │ ├── SingletonController.cs │ │ │ ├── BuilderController.cs │ │ │ ├── PrototypeController.cs │ │ │ └── FactoryMethodController.cs │ │ ├── Structural │ │ │ ├── CompositeController.cs │ │ │ ├── FlyweightController.cs │ │ │ ├── AdapterController.cs │ │ │ ├── ProxyController.cs │ │ │ ├── DecoratorController.cs │ │ │ └── BridgeController.cs │ │ └── Behavioral │ │ │ ├── TemplateMethodController.cs │ │ │ ├── InterpreterController.cs │ │ │ ├── VisitorController.cs │ │ │ ├── MediatorController.cs │ │ │ ├── StrategyController.cs │ │ │ ├── StateController.cs │ │ │ ├── CommandController.cs │ │ │ ├── CoRController.cs │ │ │ └── MementoController.cs │ ├── Content │ │ └── Site.css │ ├── Global.asax.cs │ ├── Startup.cs │ ├── App_Start │ │ └── RouteConfig.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Web.Debug.config │ ├── Web.Release.config │ ├── Hubs.cs │ └── packages.config │ ├── Control │ ├── packages.config │ ├── DTO │ │ ├── Structual │ │ │ ├── Bridge │ │ │ │ ├── Enums.cs │ │ │ │ ├── Message.cs │ │ │ │ ├── BridgeDto.cs │ │ │ │ └── Interface.cs │ │ │ ├── Composite │ │ │ │ └── CompositeDto.cs │ │ │ ├── Flyweight │ │ │ │ ├── Interface.cs │ │ │ │ └── FlyweightDto.cs │ │ │ ├── Decorator │ │ │ │ ├── Interface.cs │ │ │ │ └── DecoratorDto.cs │ │ │ ├── Adapter │ │ │ │ └── 烏龜商品.cs │ │ │ └── Facade │ │ │ │ └── 烏龜商品.cs │ │ ├── Creational │ │ │ ├── Prototype │ │ │ │ ├── RingleERP │ │ │ │ │ ├── Interface.cs │ │ │ │ │ └── PrototypeDto.cs │ │ │ │ └── RingleFramework │ │ │ │ │ └── Interface.cs │ │ │ ├── AbstractFactory │ │ │ │ ├── ParticipantFactoryEnum.cs │ │ │ │ └── WorkItemDTO.cs │ │ │ ├── Builder │ │ │ │ ├── Interface.cs │ │ │ │ └── BuilderDto.cs │ │ │ ├── Singleton │ │ │ │ └── SingletonDto.cs │ │ │ └── FactoryMethod │ │ │ │ └── FactoryMethodDto.cs │ │ └── Behavioral │ │ │ ├── Memento │ │ │ └── 複合彩DTO.cs │ │ │ ├── CoR │ │ │ ├── DonateType.cs │ │ │ ├── Donation.cs │ │ │ └── CustomExceptions.cs │ │ │ ├── Strategy │ │ │ └── StrategyEnum.cs │ │ │ ├── Mediator │ │ │ └── MediatorDto.cs │ │ │ ├── TemplateMethod │ │ │ └── TemplateMethodDto.cs │ │ │ └── Interpreter │ │ │ └── InterpreterDto.cs │ ├── Behavioral │ │ ├── Mediator │ │ │ ├── Interface.cs │ │ │ ├── StockingUco.cs │ │ │ └── Singleton.cs │ │ ├── Observer │ │ │ ├── IObserver.cs │ │ │ ├── IPublisher.cs │ │ │ ├── ConcreteObservers.cs │ │ │ ├── ManageNewsControl.cs │ │ │ └── NewsPublisher.cs │ │ ├── Strategy │ │ │ ├── IStrategy.cs │ │ │ ├── StrategyContext.cs │ │ │ ├── RSI指標Strategy.cs │ │ │ ├── 黃金交叉Strategy.cs │ │ │ └── PlaceOrderControl.cs │ │ ├── Visitor │ │ │ ├── IElement.cs │ │ │ ├── Visitor.cs │ │ │ ├── ConcreteVisitors.cs │ │ │ └── ConcreteElements.cs │ │ ├── State │ │ │ ├── 2_Refactoring │ │ │ │ ├── IOrderState.cs │ │ │ │ ├── OrderStateContext.cs │ │ │ │ └── ConcreteStateClass.cs │ │ │ └── TrackOrderControl.cs │ │ ├── Memento │ │ │ ├── 複合彩Memento.cs │ │ │ ├── 複合彩Caretaker.cs │ │ │ ├── 複合彩.cs │ │ │ └── 管理博彩Control.cs │ │ ├── CoR │ │ │ ├── DonateHandler.cs │ │ │ └── procDonateControl.cs │ │ ├── TemplateMethod │ │ │ ├── PolicyTransactionUco.cs │ │ │ ├── InsurancePolicyTransationTemplateMethodPattern.cs │ │ │ └── Singleton.cs │ │ └── Command │ │ │ └── CaculatorCommand.cs │ ├── Structural │ │ ├── Flyweight │ │ │ ├── Dao │ │ │ │ ├── CodeModel.cs │ │ │ │ ├── CodeModel.Designer.cs │ │ │ │ ├── CodeModel.edmx.diagram │ │ │ │ ├── CodeModel.Context.cs │ │ │ │ ├── Code.cs │ │ │ │ └── CodeDao.cs │ │ │ └── FlyweightPattern.cs │ │ ├── Adapter │ │ │ ├── IGet存貨資訊.cs │ │ │ ├── 查詢商品Control.cs │ │ │ ├── 供應商系統 │ │ │ │ └── OrderSystem.cs │ │ │ └── Get存貨Adapter.cs │ │ ├── Bridge │ │ │ ├── Notifier.cs │ │ │ ├── UserNotifier.cs │ │ │ ├── EmailSender.cs │ │ │ ├── LineSender.cs │ │ │ ├── SystemNotifier.cs │ │ │ ├── IMessageSender.cs │ │ │ └── 傳送訊息DemoControl.cs │ │ ├── Proxy │ │ │ ├── I龜庫接口.cs │ │ │ ├── 龜庫Informer.cs │ │ │ ├── 販售服務Control.cs │ │ │ └── 龜庫Proxy.cs │ │ ├── Facade │ │ │ ├── 烏龜BMO.cs │ │ │ └── 買烏龜Control.cs │ │ └── Decorator │ │ │ └── ConcreteComponent.cs │ ├── Utility │ │ ├── ObjectCreator.cs │ │ └── EnumUtils.cs │ ├── Creational │ │ ├── AbstractoryFactory │ │ │ ├── WorkItem.cs │ │ │ ├── AbstractFactory.cs │ │ │ ├── Participant.cs │ │ │ ├── LDAPParticipant.cs │ │ │ ├── LocalDBParticipant.cs │ │ │ └── ConcreteFactory.cs │ │ ├── Builder │ │ │ ├── SaveControl.cs │ │ │ └── EOfficeBuilderPattern.cs │ │ ├── Singleton │ │ │ └── IDGeneratorSingleton.cs │ │ └── Prototype │ │ │ ├── RingleFramework │ │ │ └── MaintainPurchaseConrol.cs │ │ │ └── RingleERP │ │ │ └── MaintainPurchaseOrderControl.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ └── App.Config │ ├── ConsoleApplication │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── ConsoleApplication.csproj │ └── Observer │ │ └── ObserverConsole.cs │ └── Design Patterns Demo Solution.sln ├── README.md └── .gitattributes /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ringlelai/HSDcDesingPatternCourse/HEAD/.DS_Store -------------------------------------------------------------------------------- /._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ringlelai/HSDcDesingPatternCourse/HEAD/._.DS_Store -------------------------------------------------------------------------------- /Model/Design Pattern.eap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ringlelai/HSDcDesingPatternCourse/HEAD/Model/Design Pattern.eap -------------------------------------------------------------------------------- /Source Code/Design_Patterns_Demo/WebMVC/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "~/Views/Shared/_Layout.cshtml"; 3 | } -------------------------------------------------------------------------------- /Source Code/Design_Patterns_Demo/WebMVC/Global.asax: -------------------------------------------------------------------------------- 1 | <%@ Application Codebehind="Global.asax.cs" Inherits="WebMVC.MvcApplication" Language="C#" %> 2 | -------------------------------------------------------------------------------- /Source Code/Design_Patterns_Demo/WebMVC/Views/Facade/Checkout.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewBag.Title = "Checkout"; 3 | } 4 | 5 |