├── .gitignore ├── LICENSE ├── README.md └── src └── headfirst ├── adapter ├── ducks │ ├── Duck.java │ ├── DuckAdapter.java │ ├── DuckTestDrive.java │ ├── MallardDuck.java │ ├── Turkey.java │ ├── TurkeyAdapter.java │ ├── TurkeyTestDrive.java │ └── WildTurkey.java └── iterenum │ ├── EI.java │ ├── EnumerationIterator.java │ ├── EnumerationIteratorTestDrive.java │ ├── IteratorEnumeration.java │ └── IteratorEnumerationTestDrive.java ├── combined └── djview │ ├── BPMObserver.java │ ├── BeatBar.java │ ├── BeatController.java │ ├── BeatModel.java │ ├── BeatModelInterface.java │ ├── BeatObserver.java │ ├── ControllerInterface.java │ ├── DJTestDrive.java │ ├── DJView.java │ ├── DJViewServlet.java │ ├── HeartAdapter.java │ ├── HeartController.java │ ├── HeartModel.java │ ├── HeartModelInterface.java │ └── HeartTestDrive.java ├── combining ├── adapter │ ├── DecoyDuck.java │ ├── DuckCall.java │ ├── DuckSimulator.java │ ├── Goose.java │ ├── GooseAdapter.java │ ├── MallardDuck.java │ ├── Quackable.java │ ├── RedheadDuck.java │ └── RubberDuck.java ├── composite │ ├── AbstractDuckFactory.java │ ├── CountingDuckFactory.java │ ├── DecoyDuck.java │ ├── DuckCall.java │ ├── DuckFactory.java │ ├── DuckSimulator.java │ ├── Flock.java │ ├── Goose.java │ ├── GooseAdapter.java │ ├── MallardDuck.java │ ├── QuackCounter.java │ ├── Quackable.java │ ├── RedheadDuck.java │ └── RubberDuck.java ├── decorator │ ├── DecoyDuck.java │ ├── DuckCall.java │ ├── DuckSimulator.java │ ├── Goose.java │ ├── GooseAdapter.java │ ├── MallardDuck.java │ ├── QuackCounter.java │ ├── Quackable.java │ ├── RedheadDuck.java │ └── RubberDuck.java ├── ducks │ ├── DecoyDuck.java │ ├── DuckCall.java │ ├── DuckSimulator.java │ ├── MallardDuck.java │ ├── Quackable.java │ ├── RedheadDuck.java │ └── RubberDuck.java ├── factory │ ├── AbstractDuckFactory.java │ ├── CountingDuckFactory.java │ ├── DecoyDuck.java │ ├── DuckCall.java │ ├── DuckFactory.java │ ├── DuckSimulator.java │ ├── Goose.java │ ├── GooseAdapter.java │ ├── MallardDuck.java │ ├── QuackCounter.java │ ├── Quackable.java │ ├── RedheadDuck.java │ └── RubberDuck.java └── observer │ ├── AbstractDuckFactory.java │ ├── CountingDuckFactory.java │ ├── DecoyDuck.java │ ├── DuckCall.java │ ├── DuckFactory.java │ ├── DuckSimulator.java │ ├── Flock.java │ ├── Goose.java │ ├── GooseAdapter.java │ ├── MallardDuck.java │ ├── Observable.java │ ├── Observer.java │ ├── QuackCounter.java │ ├── QuackObservable.java │ ├── Quackable.java │ ├── Quackologist.java │ ├── RedheadDuck.java │ └── RubberDuck.java ├── command ├── party │ ├── CeilingFan.java │ ├── CeilingFanHighCommand.java │ ├── CeilingFanMediumCommand.java │ ├── CeilingFanOffCommand.java │ ├── Command.java │ ├── Hottub.java │ ├── HottubOffCommand.java │ ├── HottubOnCommand.java │ ├── Light.java │ ├── LightOffCommand.java │ ├── LightOnCommand.java │ ├── LivingroomLightOffCommand.java │ ├── LivingroomLightOnCommand.java │ ├── MacroCommand.java │ ├── NoCommand.java │ ├── RemoteControl.java │ ├── RemoteLoader.java │ ├── Stereo.java │ ├── StereoOffCommand.java │ ├── StereoOnCommand.java │ ├── StereoOnWithCDCommand.java │ ├── TV.java │ ├── TVOffCommand.java │ └── TVOnCommand.java ├── remote │ ├── CeilingFan.java │ ├── CeilingFanOffCommand.java │ ├── CeilingFanOnCommand.java │ ├── Command.java │ ├── GarageDoor.java │ ├── GarageDoorDownCommand.java │ ├── GarageDoorUpCommand.java │ ├── Hottub.java │ ├── HottubOffCommand.java │ ├── HottubOnCommand.java │ ├── Light.java │ ├── LightOffCommand.java │ ├── LightOnCommand.java │ ├── LivingroomLightOffCommand.java │ ├── LivingroomLightOnCommand.java │ ├── NoCommand.java │ ├── RemoteControl.java │ ├── RemoteLoader.java │ ├── Stereo.java │ ├── StereoOffCommand.java │ ├── StereoOnWithCDCommand.java │ └── TV.java ├── remoteWL │ ├── CeilingFan.java │ ├── Command.java │ ├── GarageDoor.java │ ├── Hottub.java │ ├── Light.java │ ├── RemoteControl.java │ ├── RemoteLoader.java │ ├── Stereo.java │ └── TV.java ├── simpleremote │ ├── Command.java │ ├── GarageDoor.java │ ├── GarageDoorOpenCommand.java │ ├── Light.java │ ├── LightOffCommand.java │ ├── LightOnCommand.java │ ├── RemoteControlTest.java │ └── SimpleRemoteControl.java ├── simpleremoteWL │ ├── Command.java │ ├── GarageDoor.java │ ├── Light.java │ ├── RemoteControlTest.java │ └── SimpleRemoteControl.java └── undo │ ├── CeilingFan.java │ ├── CeilingFanHighCommand.java │ ├── CeilingFanLowCommand.java │ ├── CeilingFanMediumCommand.java │ ├── CeilingFanOffCommand.java │ ├── Command.java │ ├── DimmerLightOffCommand.java │ ├── DimmerLightOnCommand.java │ ├── Light.java │ ├── LightOffCommand.java │ ├── LightOnCommand.java │ ├── NoCommand.java │ ├── RemoteControlWithUndo.java │ └── RemoteLoader.java ├── composite ├── menu │ ├── Menu.java │ ├── MenuComponent.java │ ├── MenuItem.java │ ├── MenuTestDrive.java │ └── Waitress.java └── menuiterator │ ├── CompositeIterator.java │ ├── Menu.java │ ├── MenuComponent.java │ ├── MenuItem.java │ ├── MenuTestDrive.java │ ├── NullIterator.java │ └── Waitress.java ├── decorator ├── io │ ├── InputTest.java │ └── LowerCaseInputStream.java ├── starbuzz │ ├── Beverage.java │ ├── CondimentDecorator.java │ ├── DarkRoast.java │ ├── Decaf.java │ ├── Espresso.java │ ├── HouseBlend.java │ ├── Milk.java │ ├── Mocha.java │ ├── Soy.java │ ├── StarbuzzCoffee.java │ └── Whip.java └── starbuzzWithSizes │ ├── Beverage.java │ ├── CondimentDecorator.java │ ├── DarkRoast.java │ ├── Decaf.java │ ├── Espresso.java │ ├── HouseBlend.java │ ├── Milk.java │ ├── Mocha.java │ ├── Soy.java │ ├── StarbuzzCoffee.java │ └── Whip.java ├── facade └── hometheater │ ├── Amplifier.java │ ├── CdPlayer.java │ ├── DvdPlayer.java │ ├── HomeTheaterFacade.java │ ├── HomeTheaterTestDrive.java │ ├── PopcornPopper.java │ ├── Projector.java │ ├── Screen.java │ ├── TheaterLights.java │ └── Tuner.java ├── factory ├── pizzaaf │ ├── BlackOlives.java │ ├── Cheese.java │ ├── CheesePizza.java │ ├── ChicagoPizzaIngredientFactory.java │ ├── ChicagoPizzaStore.java │ ├── ClamPizza.java │ ├── Clams.java │ ├── Dough.java │ ├── Eggplant.java │ ├── FreshClams.java │ ├── FrozenClams.java │ ├── Garlic.java │ ├── MarinaraSauce.java │ ├── MozzarellaCheese.java │ ├── Mushroom.java │ ├── NYPizzaIngredientFactory.java │ ├── NYPizzaStore.java │ ├── Onion.java │ ├── ParmesanCheese.java │ ├── Pepperoni.java │ ├── PepperoniPizza.java │ ├── Pizza.java │ ├── PizzaIngredientFactory.java │ ├── PizzaStore.java │ ├── PizzaTestDrive.java │ ├── PlumTomatoSauce.java │ ├── RedPepper.java │ ├── ReggianoCheese.java │ ├── Sauce.java │ ├── SlicedPepperoni.java │ ├── Spinach.java │ ├── ThickCrustDough.java │ ├── ThinCrustDough.java │ ├── VeggiePizza.java │ └── Veggies.java ├── pizzafm │ ├── ChicagoPizzaStore.java │ ├── ChicagoStyleCheesePizza.java │ ├── ChicagoStyleClamPizza.java │ ├── ChicagoStylePepperoniPizza.java │ ├── ChicagoStyleVeggiePizza.java │ ├── NYPizzaStore.java │ ├── NYStyleCheesePizza.java │ ├── NYStyleClamPizza.java │ ├── NYStylePepperoniPizza.java │ ├── NYStyleVeggiePizza.java │ ├── Pizza.java │ ├── PizzaStore.java │ └── PizzaTestDrive.java └── pizzas │ ├── CheesePizza.java │ ├── ClamPizza.java │ ├── PepperoniPizza.java │ ├── Pizza.java │ ├── PizzaStore.java │ ├── PizzaTestDrive.java │ ├── SimplePizzaFactory.java │ └── VeggiePizza.java ├── iterator ├── dinermerger │ ├── AlternatingDinerMenuIterator.java │ ├── ArrayIterator.java │ ├── ArrayListIterator.java │ ├── DinerMenu.java │ ├── DinerMenuIterator.java │ ├── Iterator.java │ ├── Menu.java │ ├── MenuItem.java │ ├── MenuTestDrive.java │ ├── PancakeHouseMenu.java │ ├── PancakeHouseMenuIterator.java │ └── Waitress.java ├── dinermergercafe │ ├── AlternatingDinerMenuIterator.java │ ├── CafeMenu.java │ ├── DinerMenu.java │ ├── DinerMenuIterator.java │ ├── Menu.java │ ├── MenuItem.java │ ├── MenuTestDrive.java │ ├── PancakeHouseMenu.java │ └── Waitress.java ├── dinermergeri │ ├── AlternatingDinerMenuIterator.java │ ├── DinerMenu.java │ ├── DinerMenuIterator.java │ ├── Menu.java │ ├── MenuItem.java │ ├── MenuTestDrive.java │ ├── PancakeHouseMenu.java │ └── Waitress.java └── transition │ ├── DinerMenu.java │ ├── DinerMenuIterator.java │ ├── Menu.java │ ├── MenuItem.java │ ├── MenuTestDrive.java │ ├── PancakeHouseMenu.java │ └── Waitress.java ├── observer ├── weather │ ├── CurrentConditionsDisplay.java │ ├── DisplayElement.java │ ├── ForecastDisplay.java │ ├── HeatIndexDisplay.java │ ├── Observer.java │ ├── StatisticsDisplay.java │ ├── Subject.java │ ├── WeatherData.java │ ├── WeatherStation.java │ └── WeatherStationHeatIndex.java └── weatherobservable │ ├── CurrentConditionsDisplay.java │ ├── DisplayElement.java │ ├── ForecastDisplay.java │ ├── HeatIndexDisplay.java │ ├── StatisticsDisplay.java │ ├── WeatherData.java │ ├── WeatherStation.java │ └── WeatherStationHeatIndex.java ├── proxy ├── gumball │ ├── GumballMachine.java │ ├── GumballMachineRemote.java │ ├── GumballMachineTestDrive.java │ ├── GumballMonitor.java │ ├── GumballMonitorTestDrive.java │ ├── HasQuarterState.java │ ├── NoQuarterState.java │ ├── README.md │ ├── SoldOutState.java │ ├── SoldState.java │ ├── State.java │ └── WinnerState.java ├── javaproxy │ ├── MatchMakingTestDrive.java │ ├── NonOwnerInvocationHandler.java │ ├── OwnerInvocationHandler.java │ ├── PersonBean.java │ └── PersonBeanImpl.java └── virtualproxy │ ├── ImageComponent.java │ ├── ImageProxy.java │ └── ImageProxyTestDrive.java ├── singleton ├── chocolate │ ├── ChocolateBoiler.java │ └── ChocolateController.java ├── classic │ ├── Singleton.java │ └── SingletonClient.java ├── dcl │ ├── Singleton.java │ └── SingletonClient.java ├── stat │ ├── Singleton.java │ └── SingletonClient.java ├── subclass │ ├── CoolerSingleton.java │ ├── HotterSingleton.java │ ├── Singleton.java │ └── SingletonTestDrive.java └── threadsafe │ ├── Singleton.java │ └── SingletonClient.java ├── state ├── gumball │ ├── GumballMachine.java │ └── GumballMachineTestDrive.java ├── gumballstate │ ├── GumballMachine.java │ ├── GumballMachineTestDrive.java │ ├── HasQuarterState.java │ ├── NoQuarterState.java │ ├── SoldOutState.java │ ├── SoldState.java │ └── State.java └── gumballstatewinner │ ├── GumballMachine.java │ ├── GumballMachineTestDrive.java │ ├── HasQuarterState.java │ ├── NoQuarterState.java │ ├── SoldOutState.java │ ├── SoldState.java │ ├── State.java │ └── WinnerState.java ├── strategy ├── DecoyDuck.java ├── Duck.java ├── FakeQuack.java ├── FlyBehavior.java ├── FlyNoWay.java ├── FlyRocketPowered.java ├── FlyWithWings.java ├── MallardDuck.java ├── MiniDuckSimulator.java ├── MiniDuckSimulator1.java ├── ModelDuck.java ├── MuteQuack.java ├── Quack.java ├── QuackBehavior.java ├── RedHeadDuck.java ├── RubberDuck.java └── Squeak.java └── templatemethod ├── applet └── MyApplet.java ├── barista ├── BeverageTestDrive.java ├── CaffeineBeverage.java ├── CaffeineBeverageWithHook.java ├── Coffee.java ├── CoffeeWithHook.java ├── Tea.java └── TeaWithHook.java ├── frame └── MyFrame.java ├── simplebarista ├── Barista.java ├── Coffee.java └── Tea.java └── sort ├── Duck.java └── DuckSortTestDrive.java /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/README.md -------------------------------------------------------------------------------- /src/headfirst/adapter/ducks/Duck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/adapter/ducks/Duck.java -------------------------------------------------------------------------------- /src/headfirst/adapter/ducks/DuckAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/adapter/ducks/DuckAdapter.java -------------------------------------------------------------------------------- /src/headfirst/adapter/ducks/DuckTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/adapter/ducks/DuckTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/adapter/ducks/MallardDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/adapter/ducks/MallardDuck.java -------------------------------------------------------------------------------- /src/headfirst/adapter/ducks/Turkey.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/adapter/ducks/Turkey.java -------------------------------------------------------------------------------- /src/headfirst/adapter/ducks/TurkeyAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/adapter/ducks/TurkeyAdapter.java -------------------------------------------------------------------------------- /src/headfirst/adapter/ducks/TurkeyTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/adapter/ducks/TurkeyTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/adapter/ducks/WildTurkey.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/adapter/ducks/WildTurkey.java -------------------------------------------------------------------------------- /src/headfirst/adapter/iterenum/EI.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/adapter/iterenum/EI.java -------------------------------------------------------------------------------- /src/headfirst/adapter/iterenum/EnumerationIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/adapter/iterenum/EnumerationIterator.java -------------------------------------------------------------------------------- /src/headfirst/adapter/iterenum/EnumerationIteratorTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/adapter/iterenum/EnumerationIteratorTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/adapter/iterenum/IteratorEnumeration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/adapter/iterenum/IteratorEnumeration.java -------------------------------------------------------------------------------- /src/headfirst/adapter/iterenum/IteratorEnumerationTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/adapter/iterenum/IteratorEnumerationTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/combined/djview/BPMObserver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combined/djview/BPMObserver.java -------------------------------------------------------------------------------- /src/headfirst/combined/djview/BeatBar.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combined/djview/BeatBar.java -------------------------------------------------------------------------------- /src/headfirst/combined/djview/BeatController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combined/djview/BeatController.java -------------------------------------------------------------------------------- /src/headfirst/combined/djview/BeatModel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combined/djview/BeatModel.java -------------------------------------------------------------------------------- /src/headfirst/combined/djview/BeatModelInterface.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combined/djview/BeatModelInterface.java -------------------------------------------------------------------------------- /src/headfirst/combined/djview/BeatObserver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combined/djview/BeatObserver.java -------------------------------------------------------------------------------- /src/headfirst/combined/djview/ControllerInterface.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combined/djview/ControllerInterface.java -------------------------------------------------------------------------------- /src/headfirst/combined/djview/DJTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combined/djview/DJTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/combined/djview/DJView.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combined/djview/DJView.java -------------------------------------------------------------------------------- /src/headfirst/combined/djview/DJViewServlet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combined/djview/DJViewServlet.java -------------------------------------------------------------------------------- /src/headfirst/combined/djview/HeartAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combined/djview/HeartAdapter.java -------------------------------------------------------------------------------- /src/headfirst/combined/djview/HeartController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combined/djview/HeartController.java -------------------------------------------------------------------------------- /src/headfirst/combined/djview/HeartModel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combined/djview/HeartModel.java -------------------------------------------------------------------------------- /src/headfirst/combined/djview/HeartModelInterface.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combined/djview/HeartModelInterface.java -------------------------------------------------------------------------------- /src/headfirst/combined/djview/HeartTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combined/djview/HeartTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/combining/adapter/DecoyDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/adapter/DecoyDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/adapter/DuckCall.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/adapter/DuckCall.java -------------------------------------------------------------------------------- /src/headfirst/combining/adapter/DuckSimulator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/adapter/DuckSimulator.java -------------------------------------------------------------------------------- /src/headfirst/combining/adapter/Goose.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/adapter/Goose.java -------------------------------------------------------------------------------- /src/headfirst/combining/adapter/GooseAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/adapter/GooseAdapter.java -------------------------------------------------------------------------------- /src/headfirst/combining/adapter/MallardDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/adapter/MallardDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/adapter/Quackable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/adapter/Quackable.java -------------------------------------------------------------------------------- /src/headfirst/combining/adapter/RedheadDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/adapter/RedheadDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/adapter/RubberDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/adapter/RubberDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/composite/AbstractDuckFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/composite/AbstractDuckFactory.java -------------------------------------------------------------------------------- /src/headfirst/combining/composite/CountingDuckFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/composite/CountingDuckFactory.java -------------------------------------------------------------------------------- /src/headfirst/combining/composite/DecoyDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/composite/DecoyDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/composite/DuckCall.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/composite/DuckCall.java -------------------------------------------------------------------------------- /src/headfirst/combining/composite/DuckFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/composite/DuckFactory.java -------------------------------------------------------------------------------- /src/headfirst/combining/composite/DuckSimulator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/composite/DuckSimulator.java -------------------------------------------------------------------------------- /src/headfirst/combining/composite/Flock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/composite/Flock.java -------------------------------------------------------------------------------- /src/headfirst/combining/composite/Goose.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/composite/Goose.java -------------------------------------------------------------------------------- /src/headfirst/combining/composite/GooseAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/composite/GooseAdapter.java -------------------------------------------------------------------------------- /src/headfirst/combining/composite/MallardDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/composite/MallardDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/composite/QuackCounter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/composite/QuackCounter.java -------------------------------------------------------------------------------- /src/headfirst/combining/composite/Quackable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/composite/Quackable.java -------------------------------------------------------------------------------- /src/headfirst/combining/composite/RedheadDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/composite/RedheadDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/composite/RubberDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/composite/RubberDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/decorator/DecoyDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/decorator/DecoyDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/decorator/DuckCall.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/decorator/DuckCall.java -------------------------------------------------------------------------------- /src/headfirst/combining/decorator/DuckSimulator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/decorator/DuckSimulator.java -------------------------------------------------------------------------------- /src/headfirst/combining/decorator/Goose.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/decorator/Goose.java -------------------------------------------------------------------------------- /src/headfirst/combining/decorator/GooseAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/decorator/GooseAdapter.java -------------------------------------------------------------------------------- /src/headfirst/combining/decorator/MallardDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/decorator/MallardDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/decorator/QuackCounter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/decorator/QuackCounter.java -------------------------------------------------------------------------------- /src/headfirst/combining/decorator/Quackable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/decorator/Quackable.java -------------------------------------------------------------------------------- /src/headfirst/combining/decorator/RedheadDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/decorator/RedheadDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/decorator/RubberDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/decorator/RubberDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/ducks/DecoyDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/ducks/DecoyDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/ducks/DuckCall.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/ducks/DuckCall.java -------------------------------------------------------------------------------- /src/headfirst/combining/ducks/DuckSimulator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/ducks/DuckSimulator.java -------------------------------------------------------------------------------- /src/headfirst/combining/ducks/MallardDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/ducks/MallardDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/ducks/Quackable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/ducks/Quackable.java -------------------------------------------------------------------------------- /src/headfirst/combining/ducks/RedheadDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/ducks/RedheadDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/ducks/RubberDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/ducks/RubberDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/factory/AbstractDuckFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/factory/AbstractDuckFactory.java -------------------------------------------------------------------------------- /src/headfirst/combining/factory/CountingDuckFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/factory/CountingDuckFactory.java -------------------------------------------------------------------------------- /src/headfirst/combining/factory/DecoyDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/factory/DecoyDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/factory/DuckCall.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/factory/DuckCall.java -------------------------------------------------------------------------------- /src/headfirst/combining/factory/DuckFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/factory/DuckFactory.java -------------------------------------------------------------------------------- /src/headfirst/combining/factory/DuckSimulator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/factory/DuckSimulator.java -------------------------------------------------------------------------------- /src/headfirst/combining/factory/Goose.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/factory/Goose.java -------------------------------------------------------------------------------- /src/headfirst/combining/factory/GooseAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/factory/GooseAdapter.java -------------------------------------------------------------------------------- /src/headfirst/combining/factory/MallardDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/factory/MallardDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/factory/QuackCounter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/factory/QuackCounter.java -------------------------------------------------------------------------------- /src/headfirst/combining/factory/Quackable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/factory/Quackable.java -------------------------------------------------------------------------------- /src/headfirst/combining/factory/RedheadDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/factory/RedheadDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/factory/RubberDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/factory/RubberDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/observer/AbstractDuckFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/observer/AbstractDuckFactory.java -------------------------------------------------------------------------------- /src/headfirst/combining/observer/CountingDuckFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/observer/CountingDuckFactory.java -------------------------------------------------------------------------------- /src/headfirst/combining/observer/DecoyDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/observer/DecoyDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/observer/DuckCall.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/observer/DuckCall.java -------------------------------------------------------------------------------- /src/headfirst/combining/observer/DuckFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/observer/DuckFactory.java -------------------------------------------------------------------------------- /src/headfirst/combining/observer/DuckSimulator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/observer/DuckSimulator.java -------------------------------------------------------------------------------- /src/headfirst/combining/observer/Flock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/observer/Flock.java -------------------------------------------------------------------------------- /src/headfirst/combining/observer/Goose.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/observer/Goose.java -------------------------------------------------------------------------------- /src/headfirst/combining/observer/GooseAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/observer/GooseAdapter.java -------------------------------------------------------------------------------- /src/headfirst/combining/observer/MallardDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/observer/MallardDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/observer/Observable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/observer/Observable.java -------------------------------------------------------------------------------- /src/headfirst/combining/observer/Observer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/observer/Observer.java -------------------------------------------------------------------------------- /src/headfirst/combining/observer/QuackCounter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/observer/QuackCounter.java -------------------------------------------------------------------------------- /src/headfirst/combining/observer/QuackObservable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/observer/QuackObservable.java -------------------------------------------------------------------------------- /src/headfirst/combining/observer/Quackable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/observer/Quackable.java -------------------------------------------------------------------------------- /src/headfirst/combining/observer/Quackologist.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/observer/Quackologist.java -------------------------------------------------------------------------------- /src/headfirst/combining/observer/RedheadDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/observer/RedheadDuck.java -------------------------------------------------------------------------------- /src/headfirst/combining/observer/RubberDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/combining/observer/RubberDuck.java -------------------------------------------------------------------------------- /src/headfirst/command/party/CeilingFan.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/CeilingFan.java -------------------------------------------------------------------------------- /src/headfirst/command/party/CeilingFanHighCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/CeilingFanHighCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/party/CeilingFanMediumCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/CeilingFanMediumCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/party/CeilingFanOffCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/CeilingFanOffCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/party/Command.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/Command.java -------------------------------------------------------------------------------- /src/headfirst/command/party/Hottub.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/Hottub.java -------------------------------------------------------------------------------- /src/headfirst/command/party/HottubOffCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/HottubOffCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/party/HottubOnCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/HottubOnCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/party/Light.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/Light.java -------------------------------------------------------------------------------- /src/headfirst/command/party/LightOffCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/LightOffCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/party/LightOnCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/LightOnCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/party/LivingroomLightOffCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/LivingroomLightOffCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/party/LivingroomLightOnCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/LivingroomLightOnCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/party/MacroCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/MacroCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/party/NoCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/NoCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/party/RemoteControl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/RemoteControl.java -------------------------------------------------------------------------------- /src/headfirst/command/party/RemoteLoader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/RemoteLoader.java -------------------------------------------------------------------------------- /src/headfirst/command/party/Stereo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/Stereo.java -------------------------------------------------------------------------------- /src/headfirst/command/party/StereoOffCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/StereoOffCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/party/StereoOnCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/StereoOnCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/party/StereoOnWithCDCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/StereoOnWithCDCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/party/TV.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/TV.java -------------------------------------------------------------------------------- /src/headfirst/command/party/TVOffCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/TVOffCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/party/TVOnCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/party/TVOnCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/remote/CeilingFan.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remote/CeilingFan.java -------------------------------------------------------------------------------- /src/headfirst/command/remote/CeilingFanOffCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remote/CeilingFanOffCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/remote/CeilingFanOnCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remote/CeilingFanOnCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/remote/Command.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remote/Command.java -------------------------------------------------------------------------------- /src/headfirst/command/remote/GarageDoor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remote/GarageDoor.java -------------------------------------------------------------------------------- /src/headfirst/command/remote/GarageDoorDownCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remote/GarageDoorDownCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/remote/GarageDoorUpCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remote/GarageDoorUpCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/remote/Hottub.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remote/Hottub.java -------------------------------------------------------------------------------- /src/headfirst/command/remote/HottubOffCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remote/HottubOffCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/remote/HottubOnCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remote/HottubOnCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/remote/Light.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remote/Light.java -------------------------------------------------------------------------------- /src/headfirst/command/remote/LightOffCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remote/LightOffCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/remote/LightOnCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remote/LightOnCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/remote/LivingroomLightOffCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remote/LivingroomLightOffCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/remote/LivingroomLightOnCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remote/LivingroomLightOnCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/remote/NoCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remote/NoCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/remote/RemoteControl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remote/RemoteControl.java -------------------------------------------------------------------------------- /src/headfirst/command/remote/RemoteLoader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remote/RemoteLoader.java -------------------------------------------------------------------------------- /src/headfirst/command/remote/Stereo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remote/Stereo.java -------------------------------------------------------------------------------- /src/headfirst/command/remote/StereoOffCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remote/StereoOffCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/remote/StereoOnWithCDCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remote/StereoOnWithCDCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/remote/TV.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remote/TV.java -------------------------------------------------------------------------------- /src/headfirst/command/remoteWL/CeilingFan.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remoteWL/CeilingFan.java -------------------------------------------------------------------------------- /src/headfirst/command/remoteWL/Command.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remoteWL/Command.java -------------------------------------------------------------------------------- /src/headfirst/command/remoteWL/GarageDoor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remoteWL/GarageDoor.java -------------------------------------------------------------------------------- /src/headfirst/command/remoteWL/Hottub.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remoteWL/Hottub.java -------------------------------------------------------------------------------- /src/headfirst/command/remoteWL/Light.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remoteWL/Light.java -------------------------------------------------------------------------------- /src/headfirst/command/remoteWL/RemoteControl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remoteWL/RemoteControl.java -------------------------------------------------------------------------------- /src/headfirst/command/remoteWL/RemoteLoader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remoteWL/RemoteLoader.java -------------------------------------------------------------------------------- /src/headfirst/command/remoteWL/Stereo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remoteWL/Stereo.java -------------------------------------------------------------------------------- /src/headfirst/command/remoteWL/TV.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/remoteWL/TV.java -------------------------------------------------------------------------------- /src/headfirst/command/simpleremote/Command.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/simpleremote/Command.java -------------------------------------------------------------------------------- /src/headfirst/command/simpleremote/GarageDoor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/simpleremote/GarageDoor.java -------------------------------------------------------------------------------- /src/headfirst/command/simpleremote/GarageDoorOpenCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/simpleremote/GarageDoorOpenCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/simpleremote/Light.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/simpleremote/Light.java -------------------------------------------------------------------------------- /src/headfirst/command/simpleremote/LightOffCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/simpleremote/LightOffCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/simpleremote/LightOnCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/simpleremote/LightOnCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/simpleremote/RemoteControlTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/simpleremote/RemoteControlTest.java -------------------------------------------------------------------------------- /src/headfirst/command/simpleremote/SimpleRemoteControl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/simpleremote/SimpleRemoteControl.java -------------------------------------------------------------------------------- /src/headfirst/command/simpleremoteWL/Command.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/simpleremoteWL/Command.java -------------------------------------------------------------------------------- /src/headfirst/command/simpleremoteWL/GarageDoor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/simpleremoteWL/GarageDoor.java -------------------------------------------------------------------------------- /src/headfirst/command/simpleremoteWL/Light.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/simpleremoteWL/Light.java -------------------------------------------------------------------------------- /src/headfirst/command/simpleremoteWL/RemoteControlTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/simpleremoteWL/RemoteControlTest.java -------------------------------------------------------------------------------- /src/headfirst/command/simpleremoteWL/SimpleRemoteControl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/simpleremoteWL/SimpleRemoteControl.java -------------------------------------------------------------------------------- /src/headfirst/command/undo/CeilingFan.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/undo/CeilingFan.java -------------------------------------------------------------------------------- /src/headfirst/command/undo/CeilingFanHighCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/undo/CeilingFanHighCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/undo/CeilingFanLowCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/undo/CeilingFanLowCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/undo/CeilingFanMediumCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/undo/CeilingFanMediumCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/undo/CeilingFanOffCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/undo/CeilingFanOffCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/undo/Command.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/undo/Command.java -------------------------------------------------------------------------------- /src/headfirst/command/undo/DimmerLightOffCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/undo/DimmerLightOffCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/undo/DimmerLightOnCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/undo/DimmerLightOnCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/undo/Light.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/undo/Light.java -------------------------------------------------------------------------------- /src/headfirst/command/undo/LightOffCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/undo/LightOffCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/undo/LightOnCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/undo/LightOnCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/undo/NoCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/undo/NoCommand.java -------------------------------------------------------------------------------- /src/headfirst/command/undo/RemoteControlWithUndo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/undo/RemoteControlWithUndo.java -------------------------------------------------------------------------------- /src/headfirst/command/undo/RemoteLoader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/command/undo/RemoteLoader.java -------------------------------------------------------------------------------- /src/headfirst/composite/menu/Menu.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/composite/menu/Menu.java -------------------------------------------------------------------------------- /src/headfirst/composite/menu/MenuComponent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/composite/menu/MenuComponent.java -------------------------------------------------------------------------------- /src/headfirst/composite/menu/MenuItem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/composite/menu/MenuItem.java -------------------------------------------------------------------------------- /src/headfirst/composite/menu/MenuTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/composite/menu/MenuTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/composite/menu/Waitress.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/composite/menu/Waitress.java -------------------------------------------------------------------------------- /src/headfirst/composite/menuiterator/CompositeIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/composite/menuiterator/CompositeIterator.java -------------------------------------------------------------------------------- /src/headfirst/composite/menuiterator/Menu.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/composite/menuiterator/Menu.java -------------------------------------------------------------------------------- /src/headfirst/composite/menuiterator/MenuComponent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/composite/menuiterator/MenuComponent.java -------------------------------------------------------------------------------- /src/headfirst/composite/menuiterator/MenuItem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/composite/menuiterator/MenuItem.java -------------------------------------------------------------------------------- /src/headfirst/composite/menuiterator/MenuTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/composite/menuiterator/MenuTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/composite/menuiterator/NullIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/composite/menuiterator/NullIterator.java -------------------------------------------------------------------------------- /src/headfirst/composite/menuiterator/Waitress.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/composite/menuiterator/Waitress.java -------------------------------------------------------------------------------- /src/headfirst/decorator/io/InputTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/io/InputTest.java -------------------------------------------------------------------------------- /src/headfirst/decorator/io/LowerCaseInputStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/io/LowerCaseInputStream.java -------------------------------------------------------------------------------- /src/headfirst/decorator/starbuzz/Beverage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/starbuzz/Beverage.java -------------------------------------------------------------------------------- /src/headfirst/decorator/starbuzz/CondimentDecorator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/starbuzz/CondimentDecorator.java -------------------------------------------------------------------------------- /src/headfirst/decorator/starbuzz/DarkRoast.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/starbuzz/DarkRoast.java -------------------------------------------------------------------------------- /src/headfirst/decorator/starbuzz/Decaf.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/starbuzz/Decaf.java -------------------------------------------------------------------------------- /src/headfirst/decorator/starbuzz/Espresso.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/starbuzz/Espresso.java -------------------------------------------------------------------------------- /src/headfirst/decorator/starbuzz/HouseBlend.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/starbuzz/HouseBlend.java -------------------------------------------------------------------------------- /src/headfirst/decorator/starbuzz/Milk.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/starbuzz/Milk.java -------------------------------------------------------------------------------- /src/headfirst/decorator/starbuzz/Mocha.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/starbuzz/Mocha.java -------------------------------------------------------------------------------- /src/headfirst/decorator/starbuzz/Soy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/starbuzz/Soy.java -------------------------------------------------------------------------------- /src/headfirst/decorator/starbuzz/StarbuzzCoffee.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/starbuzz/StarbuzzCoffee.java -------------------------------------------------------------------------------- /src/headfirst/decorator/starbuzz/Whip.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/starbuzz/Whip.java -------------------------------------------------------------------------------- /src/headfirst/decorator/starbuzzWithSizes/Beverage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/starbuzzWithSizes/Beverage.java -------------------------------------------------------------------------------- /src/headfirst/decorator/starbuzzWithSizes/CondimentDecorator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/starbuzzWithSizes/CondimentDecorator.java -------------------------------------------------------------------------------- /src/headfirst/decorator/starbuzzWithSizes/DarkRoast.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/starbuzzWithSizes/DarkRoast.java -------------------------------------------------------------------------------- /src/headfirst/decorator/starbuzzWithSizes/Decaf.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/starbuzzWithSizes/Decaf.java -------------------------------------------------------------------------------- /src/headfirst/decorator/starbuzzWithSizes/Espresso.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/starbuzzWithSizes/Espresso.java -------------------------------------------------------------------------------- /src/headfirst/decorator/starbuzzWithSizes/HouseBlend.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/starbuzzWithSizes/HouseBlend.java -------------------------------------------------------------------------------- /src/headfirst/decorator/starbuzzWithSizes/Milk.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/starbuzzWithSizes/Milk.java -------------------------------------------------------------------------------- /src/headfirst/decorator/starbuzzWithSizes/Mocha.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/starbuzzWithSizes/Mocha.java -------------------------------------------------------------------------------- /src/headfirst/decorator/starbuzzWithSizes/Soy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/starbuzzWithSizes/Soy.java -------------------------------------------------------------------------------- /src/headfirst/decorator/starbuzzWithSizes/StarbuzzCoffee.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/starbuzzWithSizes/StarbuzzCoffee.java -------------------------------------------------------------------------------- /src/headfirst/decorator/starbuzzWithSizes/Whip.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/decorator/starbuzzWithSizes/Whip.java -------------------------------------------------------------------------------- /src/headfirst/facade/hometheater/Amplifier.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/facade/hometheater/Amplifier.java -------------------------------------------------------------------------------- /src/headfirst/facade/hometheater/CdPlayer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/facade/hometheater/CdPlayer.java -------------------------------------------------------------------------------- /src/headfirst/facade/hometheater/DvdPlayer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/facade/hometheater/DvdPlayer.java -------------------------------------------------------------------------------- /src/headfirst/facade/hometheater/HomeTheaterFacade.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/facade/hometheater/HomeTheaterFacade.java -------------------------------------------------------------------------------- /src/headfirst/facade/hometheater/HomeTheaterTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/facade/hometheater/HomeTheaterTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/facade/hometheater/PopcornPopper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/facade/hometheater/PopcornPopper.java -------------------------------------------------------------------------------- /src/headfirst/facade/hometheater/Projector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/facade/hometheater/Projector.java -------------------------------------------------------------------------------- /src/headfirst/facade/hometheater/Screen.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/facade/hometheater/Screen.java -------------------------------------------------------------------------------- /src/headfirst/facade/hometheater/TheaterLights.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/facade/hometheater/TheaterLights.java -------------------------------------------------------------------------------- /src/headfirst/facade/hometheater/Tuner.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/facade/hometheater/Tuner.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/BlackOlives.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/BlackOlives.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/Cheese.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/Cheese.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/CheesePizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/CheesePizza.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/ChicagoPizzaIngredientFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/ChicagoPizzaIngredientFactory.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/ChicagoPizzaStore.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/ChicagoPizzaStore.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/ClamPizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/ClamPizza.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/Clams.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/Clams.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/Dough.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/Dough.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/Eggplant.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/Eggplant.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/FreshClams.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/FreshClams.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/FrozenClams.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/FrozenClams.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/Garlic.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/Garlic.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/MarinaraSauce.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/MarinaraSauce.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/MozzarellaCheese.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/MozzarellaCheese.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/Mushroom.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/Mushroom.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/NYPizzaIngredientFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/NYPizzaIngredientFactory.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/NYPizzaStore.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/NYPizzaStore.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/Onion.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/Onion.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/ParmesanCheese.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/ParmesanCheese.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/Pepperoni.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/Pepperoni.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/PepperoniPizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/PepperoniPizza.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/Pizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/Pizza.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/PizzaIngredientFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/PizzaIngredientFactory.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/PizzaStore.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/PizzaStore.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/PizzaTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/PizzaTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/PlumTomatoSauce.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/PlumTomatoSauce.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/RedPepper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/RedPepper.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/ReggianoCheese.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/ReggianoCheese.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/Sauce.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/Sauce.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/SlicedPepperoni.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/SlicedPepperoni.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/Spinach.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/Spinach.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/ThickCrustDough.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/ThickCrustDough.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/ThinCrustDough.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/ThinCrustDough.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/VeggiePizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/VeggiePizza.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzaaf/Veggies.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzaaf/Veggies.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzafm/ChicagoPizzaStore.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzafm/ChicagoPizzaStore.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzafm/ChicagoStyleCheesePizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzafm/ChicagoStyleCheesePizza.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzafm/ChicagoStyleClamPizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzafm/ChicagoStyleClamPizza.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzafm/ChicagoStylePepperoniPizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzafm/ChicagoStylePepperoniPizza.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzafm/ChicagoStyleVeggiePizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzafm/ChicagoStyleVeggiePizza.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzafm/NYPizzaStore.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzafm/NYPizzaStore.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzafm/NYStyleCheesePizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzafm/NYStyleCheesePizza.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzafm/NYStyleClamPizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzafm/NYStyleClamPizza.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzafm/NYStylePepperoniPizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzafm/NYStylePepperoniPizza.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzafm/NYStyleVeggiePizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzafm/NYStyleVeggiePizza.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzafm/Pizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzafm/Pizza.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzafm/PizzaStore.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzafm/PizzaStore.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzafm/PizzaTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzafm/PizzaTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzas/CheesePizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzas/CheesePizza.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzas/ClamPizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzas/ClamPizza.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzas/PepperoniPizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzas/PepperoniPizza.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzas/Pizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzas/Pizza.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzas/PizzaStore.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzas/PizzaStore.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzas/PizzaTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzas/PizzaTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzas/SimplePizzaFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzas/SimplePizzaFactory.java -------------------------------------------------------------------------------- /src/headfirst/factory/pizzas/VeggiePizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/factory/pizzas/VeggiePizza.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermerger/AlternatingDinerMenuIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermerger/AlternatingDinerMenuIterator.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermerger/ArrayIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermerger/ArrayIterator.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermerger/ArrayListIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermerger/ArrayListIterator.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermerger/DinerMenu.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermerger/DinerMenu.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermerger/DinerMenuIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermerger/DinerMenuIterator.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermerger/Iterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermerger/Iterator.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermerger/Menu.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermerger/Menu.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermerger/MenuItem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermerger/MenuItem.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermerger/MenuTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermerger/MenuTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermerger/PancakeHouseMenu.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermerger/PancakeHouseMenu.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermerger/PancakeHouseMenuIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermerger/PancakeHouseMenuIterator.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermerger/Waitress.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermerger/Waitress.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermergercafe/AlternatingDinerMenuIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermergercafe/AlternatingDinerMenuIterator.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermergercafe/CafeMenu.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermergercafe/CafeMenu.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermergercafe/DinerMenu.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermergercafe/DinerMenu.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermergercafe/DinerMenuIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermergercafe/DinerMenuIterator.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermergercafe/Menu.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermergercafe/Menu.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermergercafe/MenuItem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermergercafe/MenuItem.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermergercafe/MenuTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermergercafe/MenuTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermergercafe/PancakeHouseMenu.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermergercafe/PancakeHouseMenu.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermergercafe/Waitress.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermergercafe/Waitress.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermergeri/AlternatingDinerMenuIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermergeri/AlternatingDinerMenuIterator.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermergeri/DinerMenu.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermergeri/DinerMenu.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermergeri/DinerMenuIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermergeri/DinerMenuIterator.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermergeri/Menu.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermergeri/Menu.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermergeri/MenuItem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermergeri/MenuItem.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermergeri/MenuTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermergeri/MenuTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermergeri/PancakeHouseMenu.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermergeri/PancakeHouseMenu.java -------------------------------------------------------------------------------- /src/headfirst/iterator/dinermergeri/Waitress.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/dinermergeri/Waitress.java -------------------------------------------------------------------------------- /src/headfirst/iterator/transition/DinerMenu.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/transition/DinerMenu.java -------------------------------------------------------------------------------- /src/headfirst/iterator/transition/DinerMenuIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/transition/DinerMenuIterator.java -------------------------------------------------------------------------------- /src/headfirst/iterator/transition/Menu.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/transition/Menu.java -------------------------------------------------------------------------------- /src/headfirst/iterator/transition/MenuItem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/transition/MenuItem.java -------------------------------------------------------------------------------- /src/headfirst/iterator/transition/MenuTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/transition/MenuTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/iterator/transition/PancakeHouseMenu.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/transition/PancakeHouseMenu.java -------------------------------------------------------------------------------- /src/headfirst/iterator/transition/Waitress.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/iterator/transition/Waitress.java -------------------------------------------------------------------------------- /src/headfirst/observer/weather/CurrentConditionsDisplay.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/observer/weather/CurrentConditionsDisplay.java -------------------------------------------------------------------------------- /src/headfirst/observer/weather/DisplayElement.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/observer/weather/DisplayElement.java -------------------------------------------------------------------------------- /src/headfirst/observer/weather/ForecastDisplay.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/observer/weather/ForecastDisplay.java -------------------------------------------------------------------------------- /src/headfirst/observer/weather/HeatIndexDisplay.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/observer/weather/HeatIndexDisplay.java -------------------------------------------------------------------------------- /src/headfirst/observer/weather/Observer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/observer/weather/Observer.java -------------------------------------------------------------------------------- /src/headfirst/observer/weather/StatisticsDisplay.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/observer/weather/StatisticsDisplay.java -------------------------------------------------------------------------------- /src/headfirst/observer/weather/Subject.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/observer/weather/Subject.java -------------------------------------------------------------------------------- /src/headfirst/observer/weather/WeatherData.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/observer/weather/WeatherData.java -------------------------------------------------------------------------------- /src/headfirst/observer/weather/WeatherStation.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/observer/weather/WeatherStation.java -------------------------------------------------------------------------------- /src/headfirst/observer/weather/WeatherStationHeatIndex.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/observer/weather/WeatherStationHeatIndex.java -------------------------------------------------------------------------------- /src/headfirst/observer/weatherobservable/CurrentConditionsDisplay.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/observer/weatherobservable/CurrentConditionsDisplay.java -------------------------------------------------------------------------------- /src/headfirst/observer/weatherobservable/DisplayElement.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/observer/weatherobservable/DisplayElement.java -------------------------------------------------------------------------------- /src/headfirst/observer/weatherobservable/ForecastDisplay.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/observer/weatherobservable/ForecastDisplay.java -------------------------------------------------------------------------------- /src/headfirst/observer/weatherobservable/HeatIndexDisplay.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/observer/weatherobservable/HeatIndexDisplay.java -------------------------------------------------------------------------------- /src/headfirst/observer/weatherobservable/StatisticsDisplay.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/observer/weatherobservable/StatisticsDisplay.java -------------------------------------------------------------------------------- /src/headfirst/observer/weatherobservable/WeatherData.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/observer/weatherobservable/WeatherData.java -------------------------------------------------------------------------------- /src/headfirst/observer/weatherobservable/WeatherStation.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/observer/weatherobservable/WeatherStation.java -------------------------------------------------------------------------------- /src/headfirst/observer/weatherobservable/WeatherStationHeatIndex.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/observer/weatherobservable/WeatherStationHeatIndex.java -------------------------------------------------------------------------------- /src/headfirst/proxy/gumball/GumballMachine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/proxy/gumball/GumballMachine.java -------------------------------------------------------------------------------- /src/headfirst/proxy/gumball/GumballMachineRemote.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/proxy/gumball/GumballMachineRemote.java -------------------------------------------------------------------------------- /src/headfirst/proxy/gumball/GumballMachineTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/proxy/gumball/GumballMachineTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/proxy/gumball/GumballMonitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/proxy/gumball/GumballMonitor.java -------------------------------------------------------------------------------- /src/headfirst/proxy/gumball/GumballMonitorTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/proxy/gumball/GumballMonitorTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/proxy/gumball/HasQuarterState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/proxy/gumball/HasQuarterState.java -------------------------------------------------------------------------------- /src/headfirst/proxy/gumball/NoQuarterState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/proxy/gumball/NoQuarterState.java -------------------------------------------------------------------------------- /src/headfirst/proxy/gumball/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/proxy/gumball/README.md -------------------------------------------------------------------------------- /src/headfirst/proxy/gumball/SoldOutState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/proxy/gumball/SoldOutState.java -------------------------------------------------------------------------------- /src/headfirst/proxy/gumball/SoldState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/proxy/gumball/SoldState.java -------------------------------------------------------------------------------- /src/headfirst/proxy/gumball/State.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/proxy/gumball/State.java -------------------------------------------------------------------------------- /src/headfirst/proxy/gumball/WinnerState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/proxy/gumball/WinnerState.java -------------------------------------------------------------------------------- /src/headfirst/proxy/javaproxy/MatchMakingTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/proxy/javaproxy/MatchMakingTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/proxy/javaproxy/NonOwnerInvocationHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/proxy/javaproxy/NonOwnerInvocationHandler.java -------------------------------------------------------------------------------- /src/headfirst/proxy/javaproxy/OwnerInvocationHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/proxy/javaproxy/OwnerInvocationHandler.java -------------------------------------------------------------------------------- /src/headfirst/proxy/javaproxy/PersonBean.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/proxy/javaproxy/PersonBean.java -------------------------------------------------------------------------------- /src/headfirst/proxy/javaproxy/PersonBeanImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/proxy/javaproxy/PersonBeanImpl.java -------------------------------------------------------------------------------- /src/headfirst/proxy/virtualproxy/ImageComponent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/proxy/virtualproxy/ImageComponent.java -------------------------------------------------------------------------------- /src/headfirst/proxy/virtualproxy/ImageProxy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/proxy/virtualproxy/ImageProxy.java -------------------------------------------------------------------------------- /src/headfirst/proxy/virtualproxy/ImageProxyTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/proxy/virtualproxy/ImageProxyTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/singleton/chocolate/ChocolateBoiler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/singleton/chocolate/ChocolateBoiler.java -------------------------------------------------------------------------------- /src/headfirst/singleton/chocolate/ChocolateController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/singleton/chocolate/ChocolateController.java -------------------------------------------------------------------------------- /src/headfirst/singleton/classic/Singleton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/singleton/classic/Singleton.java -------------------------------------------------------------------------------- /src/headfirst/singleton/classic/SingletonClient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/singleton/classic/SingletonClient.java -------------------------------------------------------------------------------- /src/headfirst/singleton/dcl/Singleton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/singleton/dcl/Singleton.java -------------------------------------------------------------------------------- /src/headfirst/singleton/dcl/SingletonClient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/singleton/dcl/SingletonClient.java -------------------------------------------------------------------------------- /src/headfirst/singleton/stat/Singleton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/singleton/stat/Singleton.java -------------------------------------------------------------------------------- /src/headfirst/singleton/stat/SingletonClient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/singleton/stat/SingletonClient.java -------------------------------------------------------------------------------- /src/headfirst/singleton/subclass/CoolerSingleton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/singleton/subclass/CoolerSingleton.java -------------------------------------------------------------------------------- /src/headfirst/singleton/subclass/HotterSingleton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/singleton/subclass/HotterSingleton.java -------------------------------------------------------------------------------- /src/headfirst/singleton/subclass/Singleton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/singleton/subclass/Singleton.java -------------------------------------------------------------------------------- /src/headfirst/singleton/subclass/SingletonTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/singleton/subclass/SingletonTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/singleton/threadsafe/Singleton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/singleton/threadsafe/Singleton.java -------------------------------------------------------------------------------- /src/headfirst/singleton/threadsafe/SingletonClient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/singleton/threadsafe/SingletonClient.java -------------------------------------------------------------------------------- /src/headfirst/state/gumball/GumballMachine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/state/gumball/GumballMachine.java -------------------------------------------------------------------------------- /src/headfirst/state/gumball/GumballMachineTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/state/gumball/GumballMachineTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/state/gumballstate/GumballMachine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/state/gumballstate/GumballMachine.java -------------------------------------------------------------------------------- /src/headfirst/state/gumballstate/GumballMachineTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/state/gumballstate/GumballMachineTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/state/gumballstate/HasQuarterState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/state/gumballstate/HasQuarterState.java -------------------------------------------------------------------------------- /src/headfirst/state/gumballstate/NoQuarterState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/state/gumballstate/NoQuarterState.java -------------------------------------------------------------------------------- /src/headfirst/state/gumballstate/SoldOutState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/state/gumballstate/SoldOutState.java -------------------------------------------------------------------------------- /src/headfirst/state/gumballstate/SoldState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/state/gumballstate/SoldState.java -------------------------------------------------------------------------------- /src/headfirst/state/gumballstate/State.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/state/gumballstate/State.java -------------------------------------------------------------------------------- /src/headfirst/state/gumballstatewinner/GumballMachine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/state/gumballstatewinner/GumballMachine.java -------------------------------------------------------------------------------- /src/headfirst/state/gumballstatewinner/GumballMachineTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/state/gumballstatewinner/GumballMachineTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/state/gumballstatewinner/HasQuarterState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/state/gumballstatewinner/HasQuarterState.java -------------------------------------------------------------------------------- /src/headfirst/state/gumballstatewinner/NoQuarterState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/state/gumballstatewinner/NoQuarterState.java -------------------------------------------------------------------------------- /src/headfirst/state/gumballstatewinner/SoldOutState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/state/gumballstatewinner/SoldOutState.java -------------------------------------------------------------------------------- /src/headfirst/state/gumballstatewinner/SoldState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/state/gumballstatewinner/SoldState.java -------------------------------------------------------------------------------- /src/headfirst/state/gumballstatewinner/State.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/state/gumballstatewinner/State.java -------------------------------------------------------------------------------- /src/headfirst/state/gumballstatewinner/WinnerState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/state/gumballstatewinner/WinnerState.java -------------------------------------------------------------------------------- /src/headfirst/strategy/DecoyDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/strategy/DecoyDuck.java -------------------------------------------------------------------------------- /src/headfirst/strategy/Duck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/strategy/Duck.java -------------------------------------------------------------------------------- /src/headfirst/strategy/FakeQuack.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/strategy/FakeQuack.java -------------------------------------------------------------------------------- /src/headfirst/strategy/FlyBehavior.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/strategy/FlyBehavior.java -------------------------------------------------------------------------------- /src/headfirst/strategy/FlyNoWay.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/strategy/FlyNoWay.java -------------------------------------------------------------------------------- /src/headfirst/strategy/FlyRocketPowered.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/strategy/FlyRocketPowered.java -------------------------------------------------------------------------------- /src/headfirst/strategy/FlyWithWings.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/strategy/FlyWithWings.java -------------------------------------------------------------------------------- /src/headfirst/strategy/MallardDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/strategy/MallardDuck.java -------------------------------------------------------------------------------- /src/headfirst/strategy/MiniDuckSimulator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/strategy/MiniDuckSimulator.java -------------------------------------------------------------------------------- /src/headfirst/strategy/MiniDuckSimulator1.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/strategy/MiniDuckSimulator1.java -------------------------------------------------------------------------------- /src/headfirst/strategy/ModelDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/strategy/ModelDuck.java -------------------------------------------------------------------------------- /src/headfirst/strategy/MuteQuack.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/strategy/MuteQuack.java -------------------------------------------------------------------------------- /src/headfirst/strategy/Quack.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/strategy/Quack.java -------------------------------------------------------------------------------- /src/headfirst/strategy/QuackBehavior.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/strategy/QuackBehavior.java -------------------------------------------------------------------------------- /src/headfirst/strategy/RedHeadDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/strategy/RedHeadDuck.java -------------------------------------------------------------------------------- /src/headfirst/strategy/RubberDuck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/strategy/RubberDuck.java -------------------------------------------------------------------------------- /src/headfirst/strategy/Squeak.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/strategy/Squeak.java -------------------------------------------------------------------------------- /src/headfirst/templatemethod/applet/MyApplet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/templatemethod/applet/MyApplet.java -------------------------------------------------------------------------------- /src/headfirst/templatemethod/barista/BeverageTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/templatemethod/barista/BeverageTestDrive.java -------------------------------------------------------------------------------- /src/headfirst/templatemethod/barista/CaffeineBeverage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/templatemethod/barista/CaffeineBeverage.java -------------------------------------------------------------------------------- /src/headfirst/templatemethod/barista/CaffeineBeverageWithHook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/templatemethod/barista/CaffeineBeverageWithHook.java -------------------------------------------------------------------------------- /src/headfirst/templatemethod/barista/Coffee.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/templatemethod/barista/Coffee.java -------------------------------------------------------------------------------- /src/headfirst/templatemethod/barista/CoffeeWithHook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/templatemethod/barista/CoffeeWithHook.java -------------------------------------------------------------------------------- /src/headfirst/templatemethod/barista/Tea.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/templatemethod/barista/Tea.java -------------------------------------------------------------------------------- /src/headfirst/templatemethod/barista/TeaWithHook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/templatemethod/barista/TeaWithHook.java -------------------------------------------------------------------------------- /src/headfirst/templatemethod/frame/MyFrame.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/templatemethod/frame/MyFrame.java -------------------------------------------------------------------------------- /src/headfirst/templatemethod/simplebarista/Barista.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/templatemethod/simplebarista/Barista.java -------------------------------------------------------------------------------- /src/headfirst/templatemethod/simplebarista/Coffee.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/templatemethod/simplebarista/Coffee.java -------------------------------------------------------------------------------- /src/headfirst/templatemethod/simplebarista/Tea.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/templatemethod/simplebarista/Tea.java -------------------------------------------------------------------------------- /src/headfirst/templatemethod/sort/Duck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/templatemethod/sort/Duck.java -------------------------------------------------------------------------------- /src/headfirst/templatemethod/sort/DuckSortTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gavin66/head-first-design-patterns-Java/HEAD/src/headfirst/templatemethod/sort/DuckSortTestDrive.java --------------------------------------------------------------------------------