├── .gitignore ├── .htaccess ├── composer.json ├── index.php └── patterns ├── AbstractFactory ├── Pizza │ ├── CheesePizza.php │ ├── ClamPizza.php │ ├── Pizza.php │ └── VeggiePizza.php ├── PizzaIngrediant │ ├── ChicagoPizzaIngredientFactory.php │ ├── NYPizzaIngredientFactory.php │ ├── cheese │ │ ├── MozzarellaCheese.php │ │ └── ReggianoCheese.php │ ├── clams │ │ ├── FreshClams.php │ │ └── FrozenClams.php │ ├── dough │ │ ├── ThickDough.php │ │ └── ThinDough.php │ ├── sauce │ │ ├── MarinaraSauce.php │ │ └── TomatoSauce.php │ └── veggie │ │ ├── Garlic.php │ │ ├── Ginger.php │ │ ├── Mushroom.php │ │ ├── Onion.php │ │ └── Pepper.php ├── PizzaStore │ ├── ChicagoPizzaStore.php │ ├── NYPizzaStore.php │ └── PizzaStore.php ├── Test.php └── interfaces │ ├── Cheese.php │ ├── Clams.php │ ├── Dough.php │ ├── PizzaIngredientFactory.php │ ├── Sauce.php │ └── Veggie.php ├── Adapter ├── Adaptee.php ├── Adapter.php ├── Ext │ ├── Adaptee.php │ ├── Adapter.php │ ├── Client.php │ └── Target.php ├── Imp │ ├── Adaptee.php │ ├── Adapter.php │ ├── Client.php │ └── Target.php ├── Target.php └── Test.php ├── Bridge ├── BigBrushPenRefined.php ├── BrushPenAbstraction.php ├── Client.php ├── ImplementorBlack.php ├── ImplementorBlue.php ├── ImplementorColor.php ├── ImplementorGreen.php ├── ImplementorRed.php ├── ImplementorWhite.php ├── MiddleBrushPenRefined.php ├── SmallBrushPenRefined.php └── Test.php ├── Builder ├── Item │ ├── Burger.php │ ├── ChickenBurger.php │ ├── Coke.php │ ├── ColdDrink.php │ ├── Item.php │ ├── Pepsi.php │ └── VegBurger.php ├── Meal.php ├── MealBuilder.php ├── Packing │ ├── Bottle.php │ ├── Packing.php │ └── Wrapper.php ├── Test.php └── Waiter.php ├── Chain ├── Client.php ├── GeneralManagerHandler.php ├── Handler.php ├── LeaderHandler.php ├── ManagerHandler.php ├── Request.php └── Test.php ├── Command ├── Client.php ├── Command │ ├── CommandInterface.php │ ├── OffCommand.php │ └── OnCommand.php ├── Invoker.php ├── Receiver │ ├── Receiver.php │ └── ReceiverInterface.php └── Test.php ├── Composite ├── Component.php ├── Composite.php ├── Dir │ ├── Directory.php │ └── File.php ├── Leaf.php ├── Menu │ ├── Menu.php │ ├── MenuItem.php │ └── Waitress.php ├── Test.php └── UnsupportedOperationException.php ├── Decorator ├── BlueShapeDecorator.php ├── BoldShapeDecorator.php ├── Circle.php ├── DottedShapeDecorator.php ├── Rectangle.php ├── RedShapeDecorator.php ├── Shape.php ├── ShapeDecorator.php ├── SolidShapeDecorator.php └── Test.php ├── Facade ├── AirConditioner.php ├── Client.php ├── Fan.php ├── Light.php ├── SwitchFacade.php ├── Television.php └── Test.php ├── Factory ├── Creator.php ├── Creator1.php ├── Pizza │ ├── ChicagoPizzaStore.php │ ├── ChicagoStyleCheesePizza.php │ ├── ChicagoStyleClamPizza.php │ ├── NYPizzaStore.php │ ├── NYStyleCheesePizza.php │ ├── NYStyleClamPizza.php │ ├── Pizza.php │ └── PizzaStore.php ├── Product.php ├── Product1.php ├── Product2.php └── Test.php ├── Filter ├── Criteria │ ├── AndCriteria.php │ ├── Criteria.php │ ├── Female.php │ ├── Male.php │ ├── Married.php │ ├── OrCriteria.php │ └── Single.php ├── Person.php └── Test.php ├── Flyweight ├── Complex │ ├── Client.php │ ├── ConcreteFlyweight.php │ ├── Flyweight.php │ ├── FlyweightFactory.php │ └── UnsharedConcreteFlyweight.php ├── Simple │ ├── Client.php │ ├── ConcreteFlyweight.php │ ├── Flyweight.php │ └── FlyweightFactory.php └── Test.php ├── Mediator ├── Colleague.php ├── ConcreteColleague1.php ├── ConcreteColleague2.php ├── ConcreteColleague3.php ├── ConcreteMediator.php ├── Mediator.php └── Test.php ├── Memento ├── CareTaker.php ├── Memento.php ├── Originator.php └── Test.php ├── Prototype ├── Client.php ├── Color.php ├── ColorManager.php ├── ColorPrototype.php └── Test.php ├── Proxy ├── Client.php ├── GenericProxyWeather.php ├── ProxyWeather.php ├── RealWeather.php ├── Test.php └── Weather.php ├── State ├── GumballMachine.php ├── HasQuarterState.php ├── NoQuarterState.php ├── SoldOutState.php ├── SoldState.php ├── State.php └── Test.php ├── Strategy ├── AirPlanelStrategy.php ├── BicycleStrategy.php ├── PersonContext.php ├── Test.php ├── TrainStrategy.php └── TravelStrategy.php ├── Template ├── BankTemplateMethod.php ├── DrawMoney.php └── Test.php ├── TestInterface.php ├── Visitor ├── ComputerPart │ ├── Computer.php │ ├── ComputerPart.php │ ├── Keyboard.php │ ├── Monitor.php │ └── Mouse.php ├── Test.php └── Visitor │ ├── ComputerPartDisplayVisitor.php │ ├── ComputerPartPriceVisitor.php │ └── ComputerPartVisitor.php ├── observer ├── Observer1.php ├── Observer2.php ├── Subject.php ├── Test.php └── interfaces │ ├── Observer.php │ ├── ObserverInterface.php │ ├── Subject.php │ └── SubjectInterface.php └── singleton ├── Singleton.php └── Test.php /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | vendor/ 3 | .php_cs.cache -------------------------------------------------------------------------------- /.htaccess: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/.htaccess -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/composer.json -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/index.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/Pizza/CheesePizza.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/Pizza/CheesePizza.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/Pizza/ClamPizza.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/Pizza/ClamPizza.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/Pizza/Pizza.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/Pizza/Pizza.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/Pizza/VeggiePizza.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/Pizza/VeggiePizza.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/PizzaIngrediant/ChicagoPizzaIngredientFactory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/PizzaIngrediant/ChicagoPizzaIngredientFactory.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/PizzaIngrediant/NYPizzaIngredientFactory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/PizzaIngrediant/NYPizzaIngredientFactory.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/PizzaIngrediant/cheese/MozzarellaCheese.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/PizzaIngrediant/cheese/MozzarellaCheese.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/PizzaIngrediant/cheese/ReggianoCheese.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/PizzaIngrediant/cheese/ReggianoCheese.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/PizzaIngrediant/clams/FreshClams.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/PizzaIngrediant/clams/FreshClams.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/PizzaIngrediant/clams/FrozenClams.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/PizzaIngrediant/clams/FrozenClams.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/PizzaIngrediant/dough/ThickDough.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/PizzaIngrediant/dough/ThickDough.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/PizzaIngrediant/dough/ThinDough.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/PizzaIngrediant/dough/ThinDough.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/PizzaIngrediant/sauce/MarinaraSauce.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/PizzaIngrediant/sauce/MarinaraSauce.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/PizzaIngrediant/sauce/TomatoSauce.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/PizzaIngrediant/sauce/TomatoSauce.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/PizzaIngrediant/veggie/Garlic.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/PizzaIngrediant/veggie/Garlic.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/PizzaIngrediant/veggie/Ginger.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/PizzaIngrediant/veggie/Ginger.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/PizzaIngrediant/veggie/Mushroom.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/PizzaIngrediant/veggie/Mushroom.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/PizzaIngrediant/veggie/Onion.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/PizzaIngrediant/veggie/Onion.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/PizzaIngrediant/veggie/Pepper.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/PizzaIngrediant/veggie/Pepper.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/PizzaStore/ChicagoPizzaStore.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/PizzaStore/ChicagoPizzaStore.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/PizzaStore/NYPizzaStore.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/PizzaStore/NYPizzaStore.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/PizzaStore/PizzaStore.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/PizzaStore/PizzaStore.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/Test.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/Test.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/interfaces/Cheese.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/interfaces/Cheese.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/interfaces/Clams.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/interfaces/Clams.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/interfaces/Dough.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/interfaces/Dough.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/interfaces/PizzaIngredientFactory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/interfaces/PizzaIngredientFactory.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/interfaces/Sauce.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/interfaces/Sauce.php -------------------------------------------------------------------------------- /patterns/AbstractFactory/interfaces/Veggie.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/AbstractFactory/interfaces/Veggie.php -------------------------------------------------------------------------------- /patterns/Adapter/Adaptee.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Adapter/Adaptee.php -------------------------------------------------------------------------------- /patterns/Adapter/Adapter.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Adapter/Adapter.php -------------------------------------------------------------------------------- /patterns/Adapter/Ext/Adaptee.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Adapter/Ext/Adaptee.php -------------------------------------------------------------------------------- /patterns/Adapter/Ext/Adapter.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Adapter/Ext/Adapter.php -------------------------------------------------------------------------------- /patterns/Adapter/Ext/Client.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Adapter/Ext/Client.php -------------------------------------------------------------------------------- /patterns/Adapter/Ext/Target.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Adapter/Ext/Target.php -------------------------------------------------------------------------------- /patterns/Adapter/Imp/Adaptee.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Adapter/Imp/Adaptee.php -------------------------------------------------------------------------------- /patterns/Adapter/Imp/Adapter.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Adapter/Imp/Adapter.php -------------------------------------------------------------------------------- /patterns/Adapter/Imp/Client.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Adapter/Imp/Client.php -------------------------------------------------------------------------------- /patterns/Adapter/Imp/Target.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Adapter/Imp/Target.php -------------------------------------------------------------------------------- /patterns/Adapter/Target.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Adapter/Target.php -------------------------------------------------------------------------------- /patterns/Adapter/Test.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Adapter/Test.php -------------------------------------------------------------------------------- /patterns/Bridge/BigBrushPenRefined.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Bridge/BigBrushPenRefined.php -------------------------------------------------------------------------------- /patterns/Bridge/BrushPenAbstraction.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Bridge/BrushPenAbstraction.php -------------------------------------------------------------------------------- /patterns/Bridge/Client.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Bridge/Client.php -------------------------------------------------------------------------------- /patterns/Bridge/ImplementorBlack.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Bridge/ImplementorBlack.php -------------------------------------------------------------------------------- /patterns/Bridge/ImplementorBlue.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Bridge/ImplementorBlue.php -------------------------------------------------------------------------------- /patterns/Bridge/ImplementorColor.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Bridge/ImplementorColor.php -------------------------------------------------------------------------------- /patterns/Bridge/ImplementorGreen.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Bridge/ImplementorGreen.php -------------------------------------------------------------------------------- /patterns/Bridge/ImplementorRed.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Bridge/ImplementorRed.php -------------------------------------------------------------------------------- /patterns/Bridge/ImplementorWhite.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Bridge/ImplementorWhite.php -------------------------------------------------------------------------------- /patterns/Bridge/MiddleBrushPenRefined.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Bridge/MiddleBrushPenRefined.php -------------------------------------------------------------------------------- /patterns/Bridge/SmallBrushPenRefined.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Bridge/SmallBrushPenRefined.php -------------------------------------------------------------------------------- /patterns/Bridge/Test.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Bridge/Test.php -------------------------------------------------------------------------------- /patterns/Builder/Item/Burger.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Builder/Item/Burger.php -------------------------------------------------------------------------------- /patterns/Builder/Item/ChickenBurger.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Builder/Item/ChickenBurger.php -------------------------------------------------------------------------------- /patterns/Builder/Item/Coke.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Builder/Item/Coke.php -------------------------------------------------------------------------------- /patterns/Builder/Item/ColdDrink.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Builder/Item/ColdDrink.php -------------------------------------------------------------------------------- /patterns/Builder/Item/Item.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Builder/Item/Item.php -------------------------------------------------------------------------------- /patterns/Builder/Item/Pepsi.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Builder/Item/Pepsi.php -------------------------------------------------------------------------------- /patterns/Builder/Item/VegBurger.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Builder/Item/VegBurger.php -------------------------------------------------------------------------------- /patterns/Builder/Meal.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Builder/Meal.php -------------------------------------------------------------------------------- /patterns/Builder/MealBuilder.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Builder/MealBuilder.php -------------------------------------------------------------------------------- /patterns/Builder/Packing/Bottle.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Builder/Packing/Bottle.php -------------------------------------------------------------------------------- /patterns/Builder/Packing/Packing.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Builder/Packing/Packing.php -------------------------------------------------------------------------------- /patterns/Builder/Packing/Wrapper.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Builder/Packing/Wrapper.php -------------------------------------------------------------------------------- /patterns/Builder/Test.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Builder/Test.php -------------------------------------------------------------------------------- /patterns/Builder/Waiter.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Builder/Waiter.php -------------------------------------------------------------------------------- /patterns/Chain/Client.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Chain/Client.php -------------------------------------------------------------------------------- /patterns/Chain/GeneralManagerHandler.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Chain/GeneralManagerHandler.php -------------------------------------------------------------------------------- /patterns/Chain/Handler.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Chain/Handler.php -------------------------------------------------------------------------------- /patterns/Chain/LeaderHandler.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Chain/LeaderHandler.php -------------------------------------------------------------------------------- /patterns/Chain/ManagerHandler.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Chain/ManagerHandler.php -------------------------------------------------------------------------------- /patterns/Chain/Request.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Chain/Request.php -------------------------------------------------------------------------------- /patterns/Chain/Test.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Chain/Test.php -------------------------------------------------------------------------------- /patterns/Command/Client.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Command/Client.php -------------------------------------------------------------------------------- /patterns/Command/Command/CommandInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Command/Command/CommandInterface.php -------------------------------------------------------------------------------- /patterns/Command/Command/OffCommand.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Command/Command/OffCommand.php -------------------------------------------------------------------------------- /patterns/Command/Command/OnCommand.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Command/Command/OnCommand.php -------------------------------------------------------------------------------- /patterns/Command/Invoker.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Command/Invoker.php -------------------------------------------------------------------------------- /patterns/Command/Receiver/Receiver.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Command/Receiver/Receiver.php -------------------------------------------------------------------------------- /patterns/Command/Receiver/ReceiverInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Command/Receiver/ReceiverInterface.php -------------------------------------------------------------------------------- /patterns/Command/Test.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Command/Test.php -------------------------------------------------------------------------------- /patterns/Composite/Component.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Composite/Component.php -------------------------------------------------------------------------------- /patterns/Composite/Composite.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Composite/Composite.php -------------------------------------------------------------------------------- /patterns/Composite/Dir/Directory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Composite/Dir/Directory.php -------------------------------------------------------------------------------- /patterns/Composite/Dir/File.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Composite/Dir/File.php -------------------------------------------------------------------------------- /patterns/Composite/Leaf.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Composite/Leaf.php -------------------------------------------------------------------------------- /patterns/Composite/Menu/Menu.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Composite/Menu/Menu.php -------------------------------------------------------------------------------- /patterns/Composite/Menu/MenuItem.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Composite/Menu/MenuItem.php -------------------------------------------------------------------------------- /patterns/Composite/Menu/Waitress.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Composite/Menu/Waitress.php -------------------------------------------------------------------------------- /patterns/Composite/Test.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Composite/Test.php -------------------------------------------------------------------------------- /patterns/Composite/UnsupportedOperationException.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Composite/UnsupportedOperationException.php -------------------------------------------------------------------------------- /patterns/Decorator/BlueShapeDecorator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Decorator/BlueShapeDecorator.php -------------------------------------------------------------------------------- /patterns/Decorator/BoldShapeDecorator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Decorator/BoldShapeDecorator.php -------------------------------------------------------------------------------- /patterns/Decorator/Circle.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Decorator/Circle.php -------------------------------------------------------------------------------- /patterns/Decorator/DottedShapeDecorator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Decorator/DottedShapeDecorator.php -------------------------------------------------------------------------------- /patterns/Decorator/Rectangle.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Decorator/Rectangle.php -------------------------------------------------------------------------------- /patterns/Decorator/RedShapeDecorator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Decorator/RedShapeDecorator.php -------------------------------------------------------------------------------- /patterns/Decorator/Shape.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Decorator/Shape.php -------------------------------------------------------------------------------- /patterns/Decorator/ShapeDecorator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Decorator/ShapeDecorator.php -------------------------------------------------------------------------------- /patterns/Decorator/SolidShapeDecorator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Decorator/SolidShapeDecorator.php -------------------------------------------------------------------------------- /patterns/Decorator/Test.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Decorator/Test.php -------------------------------------------------------------------------------- /patterns/Facade/AirConditioner.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Facade/AirConditioner.php -------------------------------------------------------------------------------- /patterns/Facade/Client.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Facade/Client.php -------------------------------------------------------------------------------- /patterns/Facade/Fan.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Facade/Fan.php -------------------------------------------------------------------------------- /patterns/Facade/Light.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Facade/Light.php -------------------------------------------------------------------------------- /patterns/Facade/SwitchFacade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Facade/SwitchFacade.php -------------------------------------------------------------------------------- /patterns/Facade/Television.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Facade/Television.php -------------------------------------------------------------------------------- /patterns/Facade/Test.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Facade/Test.php -------------------------------------------------------------------------------- /patterns/Factory/Creator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Factory/Creator.php -------------------------------------------------------------------------------- /patterns/Factory/Creator1.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Factory/Creator1.php -------------------------------------------------------------------------------- /patterns/Factory/Pizza/ChicagoPizzaStore.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Factory/Pizza/ChicagoPizzaStore.php -------------------------------------------------------------------------------- /patterns/Factory/Pizza/ChicagoStyleCheesePizza.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Factory/Pizza/ChicagoStyleCheesePizza.php -------------------------------------------------------------------------------- /patterns/Factory/Pizza/ChicagoStyleClamPizza.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Factory/Pizza/ChicagoStyleClamPizza.php -------------------------------------------------------------------------------- /patterns/Factory/Pizza/NYPizzaStore.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Factory/Pizza/NYPizzaStore.php -------------------------------------------------------------------------------- /patterns/Factory/Pizza/NYStyleCheesePizza.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Factory/Pizza/NYStyleCheesePizza.php -------------------------------------------------------------------------------- /patterns/Factory/Pizza/NYStyleClamPizza.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Factory/Pizza/NYStyleClamPizza.php -------------------------------------------------------------------------------- /patterns/Factory/Pizza/Pizza.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Factory/Pizza/Pizza.php -------------------------------------------------------------------------------- /patterns/Factory/Pizza/PizzaStore.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Factory/Pizza/PizzaStore.php -------------------------------------------------------------------------------- /patterns/Factory/Product.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Factory/Product.php -------------------------------------------------------------------------------- /patterns/Factory/Product1.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Factory/Product1.php -------------------------------------------------------------------------------- /patterns/Factory/Product2.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Factory/Product2.php -------------------------------------------------------------------------------- /patterns/Factory/Test.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Factory/Test.php -------------------------------------------------------------------------------- /patterns/Filter/Criteria/AndCriteria.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Filter/Criteria/AndCriteria.php -------------------------------------------------------------------------------- /patterns/Filter/Criteria/Criteria.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Filter/Criteria/Criteria.php -------------------------------------------------------------------------------- /patterns/Filter/Criteria/Female.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Filter/Criteria/Female.php -------------------------------------------------------------------------------- /patterns/Filter/Criteria/Male.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Filter/Criteria/Male.php -------------------------------------------------------------------------------- /patterns/Filter/Criteria/Married.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Filter/Criteria/Married.php -------------------------------------------------------------------------------- /patterns/Filter/Criteria/OrCriteria.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Filter/Criteria/OrCriteria.php -------------------------------------------------------------------------------- /patterns/Filter/Criteria/Single.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Filter/Criteria/Single.php -------------------------------------------------------------------------------- /patterns/Filter/Person.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Filter/Person.php -------------------------------------------------------------------------------- /patterns/Filter/Test.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Filter/Test.php -------------------------------------------------------------------------------- /patterns/Flyweight/Complex/Client.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Flyweight/Complex/Client.php -------------------------------------------------------------------------------- /patterns/Flyweight/Complex/ConcreteFlyweight.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Flyweight/Complex/ConcreteFlyweight.php -------------------------------------------------------------------------------- /patterns/Flyweight/Complex/Flyweight.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Flyweight/Complex/Flyweight.php -------------------------------------------------------------------------------- /patterns/Flyweight/Complex/FlyweightFactory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Flyweight/Complex/FlyweightFactory.php -------------------------------------------------------------------------------- /patterns/Flyweight/Complex/UnsharedConcreteFlyweight.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Flyweight/Complex/UnsharedConcreteFlyweight.php -------------------------------------------------------------------------------- /patterns/Flyweight/Simple/Client.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Flyweight/Simple/Client.php -------------------------------------------------------------------------------- /patterns/Flyweight/Simple/ConcreteFlyweight.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Flyweight/Simple/ConcreteFlyweight.php -------------------------------------------------------------------------------- /patterns/Flyweight/Simple/Flyweight.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Flyweight/Simple/Flyweight.php -------------------------------------------------------------------------------- /patterns/Flyweight/Simple/FlyweightFactory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Flyweight/Simple/FlyweightFactory.php -------------------------------------------------------------------------------- /patterns/Flyweight/Test.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Flyweight/Test.php -------------------------------------------------------------------------------- /patterns/Mediator/Colleague.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Mediator/Colleague.php -------------------------------------------------------------------------------- /patterns/Mediator/ConcreteColleague1.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Mediator/ConcreteColleague1.php -------------------------------------------------------------------------------- /patterns/Mediator/ConcreteColleague2.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Mediator/ConcreteColleague2.php -------------------------------------------------------------------------------- /patterns/Mediator/ConcreteColleague3.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Mediator/ConcreteColleague3.php -------------------------------------------------------------------------------- /patterns/Mediator/ConcreteMediator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Mediator/ConcreteMediator.php -------------------------------------------------------------------------------- /patterns/Mediator/Mediator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Mediator/Mediator.php -------------------------------------------------------------------------------- /patterns/Mediator/Test.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Mediator/Test.php -------------------------------------------------------------------------------- /patterns/Memento/CareTaker.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Memento/CareTaker.php -------------------------------------------------------------------------------- /patterns/Memento/Memento.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Memento/Memento.php -------------------------------------------------------------------------------- /patterns/Memento/Originator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Memento/Originator.php -------------------------------------------------------------------------------- /patterns/Memento/Test.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Memento/Test.php -------------------------------------------------------------------------------- /patterns/Prototype/Client.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Prototype/Client.php -------------------------------------------------------------------------------- /patterns/Prototype/Color.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Prototype/Color.php -------------------------------------------------------------------------------- /patterns/Prototype/ColorManager.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Prototype/ColorManager.php -------------------------------------------------------------------------------- /patterns/Prototype/ColorPrototype.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Prototype/ColorPrototype.php -------------------------------------------------------------------------------- /patterns/Prototype/Test.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Prototype/Test.php -------------------------------------------------------------------------------- /patterns/Proxy/Client.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Proxy/Client.php -------------------------------------------------------------------------------- /patterns/Proxy/GenericProxyWeather.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Proxy/GenericProxyWeather.php -------------------------------------------------------------------------------- /patterns/Proxy/ProxyWeather.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Proxy/ProxyWeather.php -------------------------------------------------------------------------------- /patterns/Proxy/RealWeather.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Proxy/RealWeather.php -------------------------------------------------------------------------------- /patterns/Proxy/Test.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Proxy/Test.php -------------------------------------------------------------------------------- /patterns/Proxy/Weather.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Proxy/Weather.php -------------------------------------------------------------------------------- /patterns/State/GumballMachine.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/State/GumballMachine.php -------------------------------------------------------------------------------- /patterns/State/HasQuarterState.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/State/HasQuarterState.php -------------------------------------------------------------------------------- /patterns/State/NoQuarterState.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/State/NoQuarterState.php -------------------------------------------------------------------------------- /patterns/State/SoldOutState.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/State/SoldOutState.php -------------------------------------------------------------------------------- /patterns/State/SoldState.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/State/SoldState.php -------------------------------------------------------------------------------- /patterns/State/State.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/State/State.php -------------------------------------------------------------------------------- /patterns/State/Test.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/State/Test.php -------------------------------------------------------------------------------- /patterns/Strategy/AirPlanelStrategy.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Strategy/AirPlanelStrategy.php -------------------------------------------------------------------------------- /patterns/Strategy/BicycleStrategy.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Strategy/BicycleStrategy.php -------------------------------------------------------------------------------- /patterns/Strategy/PersonContext.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Strategy/PersonContext.php -------------------------------------------------------------------------------- /patterns/Strategy/Test.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Strategy/Test.php -------------------------------------------------------------------------------- /patterns/Strategy/TrainStrategy.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Strategy/TrainStrategy.php -------------------------------------------------------------------------------- /patterns/Strategy/TravelStrategy.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Strategy/TravelStrategy.php -------------------------------------------------------------------------------- /patterns/Template/BankTemplateMethod.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Template/BankTemplateMethod.php -------------------------------------------------------------------------------- /patterns/Template/DrawMoney.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Template/DrawMoney.php -------------------------------------------------------------------------------- /patterns/Template/Test.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Template/Test.php -------------------------------------------------------------------------------- /patterns/TestInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/TestInterface.php -------------------------------------------------------------------------------- /patterns/Visitor/ComputerPart/Computer.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Visitor/ComputerPart/Computer.php -------------------------------------------------------------------------------- /patterns/Visitor/ComputerPart/ComputerPart.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Visitor/ComputerPart/ComputerPart.php -------------------------------------------------------------------------------- /patterns/Visitor/ComputerPart/Keyboard.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Visitor/ComputerPart/Keyboard.php -------------------------------------------------------------------------------- /patterns/Visitor/ComputerPart/Monitor.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Visitor/ComputerPart/Monitor.php -------------------------------------------------------------------------------- /patterns/Visitor/ComputerPart/Mouse.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Visitor/ComputerPart/Mouse.php -------------------------------------------------------------------------------- /patterns/Visitor/Test.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Visitor/Test.php -------------------------------------------------------------------------------- /patterns/Visitor/Visitor/ComputerPartDisplayVisitor.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Visitor/Visitor/ComputerPartDisplayVisitor.php -------------------------------------------------------------------------------- /patterns/Visitor/Visitor/ComputerPartPriceVisitor.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Visitor/Visitor/ComputerPartPriceVisitor.php -------------------------------------------------------------------------------- /patterns/Visitor/Visitor/ComputerPartVisitor.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/Visitor/Visitor/ComputerPartVisitor.php -------------------------------------------------------------------------------- /patterns/observer/Observer1.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/observer/Observer1.php -------------------------------------------------------------------------------- /patterns/observer/Observer2.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/observer/Observer2.php -------------------------------------------------------------------------------- /patterns/observer/Subject.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/observer/Subject.php -------------------------------------------------------------------------------- /patterns/observer/Test.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/observer/Test.php -------------------------------------------------------------------------------- /patterns/observer/interfaces/Observer.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/observer/interfaces/Observer.php -------------------------------------------------------------------------------- /patterns/observer/interfaces/ObserverInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/observer/interfaces/ObserverInterface.php -------------------------------------------------------------------------------- /patterns/observer/interfaces/Subject.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/observer/interfaces/Subject.php -------------------------------------------------------------------------------- /patterns/observer/interfaces/SubjectInterface.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/observer/interfaces/SubjectInterface.php -------------------------------------------------------------------------------- /patterns/singleton/Singleton.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/singleton/Singleton.php -------------------------------------------------------------------------------- /patterns/singleton/Test.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/terryhuangbo/design-pattern/HEAD/patterns/singleton/Test.php --------------------------------------------------------------------------------