├── .gitignore ├── README.md └── src ├── abstractfactory ├── examples │ ├── kingdom │ │ ├── KingdomTestDrive.java │ │ ├── factories │ │ │ ├── ElfKingdomFactory.java │ │ │ ├── KingdomFactory.java │ │ │ └── MenKingdomFactory.java │ │ └── parts │ │ │ ├── Army.java │ │ │ ├── Castle.java │ │ │ ├── ElfArmy.java │ │ │ ├── ElfCastle.java │ │ │ ├── ElfKing.java │ │ │ ├── King.java │ │ │ ├── MenArmy.java │ │ │ ├── MenCastle.java │ │ │ └── MenKing.java │ └── ufo │ │ ├── ShipsAbstractFactoryTestDrive.java │ │ ├── factories │ │ ├── ShipFactory.java │ │ ├── UFOBossShipFactory.java │ │ └── UFOShipFactory.java │ │ ├── parts │ │ ├── ShipEngine.java │ │ ├── ShipWeapon.java │ │ ├── UFOBossEngine.java │ │ ├── UFOBossGun.java │ │ ├── UFOEngine.java │ │ └── UFOGun.java │ │ └── products │ │ ├── Ship.java │ │ ├── UFOBossShip.java │ │ └── UFOShip.java └── pattern │ ├── AbstractFactory.java │ ├── AbstractProductA.java │ ├── AbstractProductB.java │ ├── ConcreteFactoryOne.java │ ├── ConcreteFactoryTwo.java │ ├── ProductAOne.java │ ├── ProductATwo.java │ ├── ProductBOne.java │ └── ProductBTwo.java ├── adapter ├── examples │ ├── books │ │ ├── AdapterBook.java │ │ ├── Book.java │ │ ├── Client.java │ │ └── SimpleBook.java │ └── users │ │ ├── AbstractConverter.java │ │ ├── Role.java │ │ ├── User.java │ │ ├── UserConverter.java │ │ ├── UserConverterTest.java │ │ └── UserDto.java └── pattern │ ├── Adaptee.java │ ├── Adapter.java │ ├── Client.java │ └── Target.java ├── bridge ├── examples │ └── workshop │ │ ├── Assemble.java │ │ ├── Bike.java │ │ ├── Car.java │ │ ├── Client.java │ │ ├── Produce.java │ │ ├── Vehicle.java │ │ └── Workshop.java └── pattern │ ├── Abstraction.java │ ├── Client.java │ ├── Implementor.java │ ├── ImplementorA.java │ ├── ImplementorB.java │ └── RefinedAbstraction.java ├── builder ├── examples │ ├── fastfood │ │ ├── Cashier.java │ │ ├── ChildrensMealBuilder.java │ │ ├── Costumer.java │ │ ├── FastFoodTest.java │ │ ├── Meal.java │ │ └── MealBuilder.java │ ├── heroes │ │ ├── Armor.java │ │ ├── Hero.java │ │ ├── HeroBuilder.java │ │ ├── HeroTest.java │ │ ├── Profession.java │ │ └── Weapon.java │ ├── pizza │ │ ├── Dough.java │ │ ├── HawaiianPizzaBuilder.java │ │ ├── Ingredients.java │ │ ├── Pizza.java │ │ ├── PizzaBuilder.java │ │ ├── PizzaDirector.java │ │ ├── PizzaTest.java │ │ ├── Sauce.java │ │ └── SpicyPizzaBuilder.java │ └── robots │ │ ├── OldRobotBuilder.java │ │ ├── Robot.java │ │ ├── RobotBuilder.java │ │ ├── RobotBuilderTest.java │ │ └── RobotDirector.java └── pattern │ ├── Builder.java │ ├── Client.java │ ├── ConcreteBuilder.java │ ├── Director.java │ └── Product.java ├── chain └── examples │ └── army │ ├── Client.java │ ├── Officer.java │ ├── Soldier.java │ └── Unit.java ├── command ├── examples │ ├── devices │ │ ├── Client.java │ │ ├── DeviceButton.java │ │ ├── commands │ │ │ ├── Command.java │ │ │ ├── TurnOffAllDevices.java │ │ │ ├── TurnOffTelevision.java │ │ │ ├── TurnOnTelevision.java │ │ │ ├── VolumeDownTelevision.java │ │ │ └── VolumeUpTelevision.java │ │ └── devices │ │ │ ├── ElectronicDevice.java │ │ │ ├── Radio.java │ │ │ └── Television.java │ └── spells │ │ ├── Assistant.java │ │ ├── MagicAct.java │ │ ├── Target.java │ │ ├── Wizard.java │ │ └── commands │ │ ├── Age.java │ │ ├── AgeSpell.java │ │ ├── Command.java │ │ ├── InvisibilitySpell.java │ │ ├── ShrinkSpell.java │ │ ├── Size.java │ │ └── Visibility.java └── pattern │ ├── Client.java │ ├── Command.java │ ├── ConcreteCommand.java │ ├── ConcreteReceiver.java │ ├── Invoker.java │ └── Receiver.java ├── composite ├── examples │ ├── directories │ │ ├── Directory.java │ │ ├── File.java │ │ ├── FileSystem.java │ │ ├── FileSystemTestDrive.java │ │ └── SimpleFile.java │ └── menu │ │ ├── Client.java │ │ ├── MenuComponent.java │ │ ├── MenuComposite.java │ │ ├── MenuItem.java │ │ └── MenuTestDrive.java └── pattern │ ├── Component.java │ ├── Composite.java │ ├── CompositeTest.java │ └── Leaf.java ├── decorator ├── examples │ └── pizzas │ │ ├── Mozzarella.java │ │ ├── Pizza.java │ │ ├── PizzaMaker.java │ │ ├── PlainPizza.java │ │ ├── TomatoSauce.java │ │ └── ToppingDecorator.java └── pattern │ ├── Client.java │ ├── Component.java │ ├── ConcreteComponent.java │ ├── ConcreteDecoratorOne.java │ ├── ConcreteDecoratorTwo.java │ └── Decorator.java ├── facade ├── examples │ ├── bank │ │ ├── AccountNumberCheck.java │ │ ├── BankFacade.java │ │ ├── Client.java │ │ ├── FundsCheck.java │ │ ├── SecurityCodeCheck.java │ │ └── WelcomeMessage.java │ └── computer │ │ ├── CPU.java │ │ ├── ComputerFacade.java │ │ ├── HardDrive.java │ │ ├── Memory.java │ │ └── User.java └── pattern │ ├── Action.java │ ├── Client.java │ ├── ConcreteActionOne.java │ ├── ConcreteActionTwo.java │ └── Facade.java ├── factory ├── examples │ ├── cars │ │ ├── CarsFactoryTestDrive.java │ │ ├── factories │ │ │ ├── CarsFactory.java │ │ │ ├── NissanFactory.java │ │ │ └── ToyotaFactory.java │ │ └── products │ │ │ ├── Camry.java │ │ │ ├── Car.java │ │ │ ├── Corolla.java │ │ │ ├── Tsuru.java │ │ │ └── Versa.java │ └── ships │ │ ├── EnemyShipFactory.java │ │ ├── RocketShip.java │ │ ├── Ship.java │ │ ├── ShipFactory.java │ │ ├── ShipTestDrive.java │ │ └── UFOShip.java └── pattern │ ├── ConcreteFactoryOne.java │ ├── ConcreteFactoryTwo.java │ ├── ConcreteProductOne.java │ ├── ConcreteProductTwo.java │ ├── Factory.java │ ├── FactoryTestDrive.java │ └── Product.java ├── flyweight └── examples │ └── counterstrike │ ├── CounterStrikeTest.java │ ├── CounterTerrorist.java │ ├── Player.java │ ├── PlayerFactory.java │ └── Terrorist.java ├── interpreter └── examples │ └── sql │ ├── Context.java │ ├── Demo.java │ ├── Expression.java │ ├── From.java │ ├── Row.java │ ├── Select.java │ └── Where.java ├── iterator └── examples │ ├── notifications │ ├── Client.java │ ├── Collection.java │ ├── Iterator.java │ ├── Notification.java │ ├── NotificationBar.java │ ├── NotificationCollection.java │ └── NotificationIterator.java │ └── vectors │ ├── Client.java │ ├── Vector.java │ └── VectorIterator.java ├── mediator └── examples │ └── airtrafficcontroller │ ├── Client.java │ ├── Command.java │ ├── ControlTower.java │ ├── Flight.java │ └── Runway.java ├── memento ├── examples │ └── timemachine │ │ ├── Life.java │ │ ├── Memento.java │ │ └── TimeMachineClient.java └── pattern │ ├── Caretaker.java │ ├── Memento.java │ ├── MementoTest.java │ └── Originator.java ├── objectpool └── pattern │ ├── Client.java │ ├── HeavyObject.java │ ├── ObjectPool.java │ └── ObjectPoolTest.java ├── observer ├── examples │ └── auction │ │ ├── AuctionTestDriven.java │ │ ├── Auctioneer.java │ │ └── Bidder.java └── pattern │ ├── ConcreteObserver.java │ ├── ConcreteSubject.java │ ├── Event.java │ ├── Observer.java │ ├── Subject.java │ └── Test.java ├── prototype ├── examples │ └── animals │ │ ├── Animal.java │ │ ├── AnimalCloneFactory.java │ │ ├── AnimalPrototypeTest.java │ │ ├── Cat.java │ │ └── Dog.java └── pattern │ ├── Client.java │ ├── ConcretePrototypeOne.java │ ├── ConcretePrototypeTwo.java │ ├── Prototype.java │ └── PrototypeFactory.java ├── proxy ├── examples │ ├── atm │ │ ├── ATMClient.java │ │ ├── ATMMachine.java │ │ ├── ATMProxy.java │ │ └── GetATMData.java │ └── images │ │ ├── ClientImage.java │ │ ├── Image.java │ │ ├── ProxyImage.java │ │ └── RealImage.java └── pattern │ ├── Client.java │ ├── Proxy.java │ ├── RealSubject.java │ └── Subject.java ├── singleton ├── examples │ └── government │ │ └── Government.java └── pattern │ ├── Singleton.java │ └── Test.java ├── state ├── examples │ └── mobilealerts │ │ ├── AlertStateContext.java │ │ ├── MobileAlertState.java │ │ ├── Ring.java │ │ ├── Silent.java │ │ ├── StateClient.java │ │ └── Vibration.java └── pattern │ ├── Context.java │ ├── State.java │ ├── StateA.java │ └── StateB.java ├── strategy ├── examples │ ├── robot │ │ ├── AgressiveBehavior.java │ │ ├── DefensiveBehavior.java │ │ ├── NormalBehavior.java │ │ ├── Robot.java │ │ ├── RobotBehavior.java │ │ └── RobotTestDrive.java │ └── transportation │ │ ├── CityBus.java │ │ ├── PersonalCar.java │ │ ├── Taxi.java │ │ ├── TransportationMode.java │ │ ├── TransportationModeTestDrive.java │ │ └── Traveler.java └── pattern │ ├── ConcreteStrategyOne.java │ ├── ConcreteStrategyTwo.java │ ├── Context.java │ └── Strategy.java ├── template └── examples │ └── ordermanaging │ ├── Client.java │ ├── NetOrder.java │ ├── OrderProcessTemplate.java │ └── StoreOrder.java └── visitor └── examples ├── airportsecuritycontrol ├── InternationalPassenger.java ├── NationalPassenger.java ├── Passenger.java ├── PoliceOfficer.java └── SecurityControlClient.java └── arithmetic ├── Client.java ├── Constant.java ├── Expression.java ├── Mult.java ├── OpBinary.java ├── Sum.java ├── Variable.java └── VisitorExpression.java /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/README.md -------------------------------------------------------------------------------- /src/abstractfactory/examples/kingdom/KingdomTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/kingdom/KingdomTestDrive.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/kingdom/factories/ElfKingdomFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/kingdom/factories/ElfKingdomFactory.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/kingdom/factories/KingdomFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/kingdom/factories/KingdomFactory.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/kingdom/factories/MenKingdomFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/kingdom/factories/MenKingdomFactory.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/kingdom/parts/Army.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/kingdom/parts/Army.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/kingdom/parts/Castle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/kingdom/parts/Castle.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/kingdom/parts/ElfArmy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/kingdom/parts/ElfArmy.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/kingdom/parts/ElfCastle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/kingdom/parts/ElfCastle.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/kingdom/parts/ElfKing.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/kingdom/parts/ElfKing.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/kingdom/parts/King.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/kingdom/parts/King.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/kingdom/parts/MenArmy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/kingdom/parts/MenArmy.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/kingdom/parts/MenCastle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/kingdom/parts/MenCastle.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/kingdom/parts/MenKing.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/kingdom/parts/MenKing.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/ufo/ShipsAbstractFactoryTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/ufo/ShipsAbstractFactoryTestDrive.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/ufo/factories/ShipFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/ufo/factories/ShipFactory.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/ufo/factories/UFOBossShipFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/ufo/factories/UFOBossShipFactory.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/ufo/factories/UFOShipFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/ufo/factories/UFOShipFactory.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/ufo/parts/ShipEngine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/ufo/parts/ShipEngine.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/ufo/parts/ShipWeapon.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/ufo/parts/ShipWeapon.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/ufo/parts/UFOBossEngine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/ufo/parts/UFOBossEngine.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/ufo/parts/UFOBossGun.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/ufo/parts/UFOBossGun.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/ufo/parts/UFOEngine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/ufo/parts/UFOEngine.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/ufo/parts/UFOGun.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/ufo/parts/UFOGun.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/ufo/products/Ship.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/ufo/products/Ship.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/ufo/products/UFOBossShip.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/ufo/products/UFOBossShip.java -------------------------------------------------------------------------------- /src/abstractfactory/examples/ufo/products/UFOShip.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/examples/ufo/products/UFOShip.java -------------------------------------------------------------------------------- /src/abstractfactory/pattern/AbstractFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/pattern/AbstractFactory.java -------------------------------------------------------------------------------- /src/abstractfactory/pattern/AbstractProductA.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/pattern/AbstractProductA.java -------------------------------------------------------------------------------- /src/abstractfactory/pattern/AbstractProductB.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/pattern/AbstractProductB.java -------------------------------------------------------------------------------- /src/abstractfactory/pattern/ConcreteFactoryOne.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/pattern/ConcreteFactoryOne.java -------------------------------------------------------------------------------- /src/abstractfactory/pattern/ConcreteFactoryTwo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/pattern/ConcreteFactoryTwo.java -------------------------------------------------------------------------------- /src/abstractfactory/pattern/ProductAOne.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/pattern/ProductAOne.java -------------------------------------------------------------------------------- /src/abstractfactory/pattern/ProductATwo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/pattern/ProductATwo.java -------------------------------------------------------------------------------- /src/abstractfactory/pattern/ProductBOne.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/pattern/ProductBOne.java -------------------------------------------------------------------------------- /src/abstractfactory/pattern/ProductBTwo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/abstractfactory/pattern/ProductBTwo.java -------------------------------------------------------------------------------- /src/adapter/examples/books/AdapterBook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/adapter/examples/books/AdapterBook.java -------------------------------------------------------------------------------- /src/adapter/examples/books/Book.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/adapter/examples/books/Book.java -------------------------------------------------------------------------------- /src/adapter/examples/books/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/adapter/examples/books/Client.java -------------------------------------------------------------------------------- /src/adapter/examples/books/SimpleBook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/adapter/examples/books/SimpleBook.java -------------------------------------------------------------------------------- /src/adapter/examples/users/AbstractConverter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/adapter/examples/users/AbstractConverter.java -------------------------------------------------------------------------------- /src/adapter/examples/users/Role.java: -------------------------------------------------------------------------------- 1 | package adapter.examples.users; 2 | 3 | public enum Role { 4 | ADMIN, GUEST; 5 | } 6 | -------------------------------------------------------------------------------- /src/adapter/examples/users/User.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/adapter/examples/users/User.java -------------------------------------------------------------------------------- /src/adapter/examples/users/UserConverter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/adapter/examples/users/UserConverter.java -------------------------------------------------------------------------------- /src/adapter/examples/users/UserConverterTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/adapter/examples/users/UserConverterTest.java -------------------------------------------------------------------------------- /src/adapter/examples/users/UserDto.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/adapter/examples/users/UserDto.java -------------------------------------------------------------------------------- /src/adapter/pattern/Adaptee.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/adapter/pattern/Adaptee.java -------------------------------------------------------------------------------- /src/adapter/pattern/Adapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/adapter/pattern/Adapter.java -------------------------------------------------------------------------------- /src/adapter/pattern/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/adapter/pattern/Client.java -------------------------------------------------------------------------------- /src/adapter/pattern/Target.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/adapter/pattern/Target.java -------------------------------------------------------------------------------- /src/bridge/examples/workshop/Assemble.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/bridge/examples/workshop/Assemble.java -------------------------------------------------------------------------------- /src/bridge/examples/workshop/Bike.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/bridge/examples/workshop/Bike.java -------------------------------------------------------------------------------- /src/bridge/examples/workshop/Car.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/bridge/examples/workshop/Car.java -------------------------------------------------------------------------------- /src/bridge/examples/workshop/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/bridge/examples/workshop/Client.java -------------------------------------------------------------------------------- /src/bridge/examples/workshop/Produce.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/bridge/examples/workshop/Produce.java -------------------------------------------------------------------------------- /src/bridge/examples/workshop/Vehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/bridge/examples/workshop/Vehicle.java -------------------------------------------------------------------------------- /src/bridge/examples/workshop/Workshop.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/bridge/examples/workshop/Workshop.java -------------------------------------------------------------------------------- /src/bridge/pattern/Abstraction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/bridge/pattern/Abstraction.java -------------------------------------------------------------------------------- /src/bridge/pattern/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/bridge/pattern/Client.java -------------------------------------------------------------------------------- /src/bridge/pattern/Implementor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/bridge/pattern/Implementor.java -------------------------------------------------------------------------------- /src/bridge/pattern/ImplementorA.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/bridge/pattern/ImplementorA.java -------------------------------------------------------------------------------- /src/bridge/pattern/ImplementorB.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/bridge/pattern/ImplementorB.java -------------------------------------------------------------------------------- /src/bridge/pattern/RefinedAbstraction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/bridge/pattern/RefinedAbstraction.java -------------------------------------------------------------------------------- /src/builder/examples/fastfood/Cashier.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/fastfood/Cashier.java -------------------------------------------------------------------------------- /src/builder/examples/fastfood/ChildrensMealBuilder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/fastfood/ChildrensMealBuilder.java -------------------------------------------------------------------------------- /src/builder/examples/fastfood/Costumer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/fastfood/Costumer.java -------------------------------------------------------------------------------- /src/builder/examples/fastfood/FastFoodTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/fastfood/FastFoodTest.java -------------------------------------------------------------------------------- /src/builder/examples/fastfood/Meal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/fastfood/Meal.java -------------------------------------------------------------------------------- /src/builder/examples/fastfood/MealBuilder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/fastfood/MealBuilder.java -------------------------------------------------------------------------------- /src/builder/examples/heroes/Armor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/heroes/Armor.java -------------------------------------------------------------------------------- /src/builder/examples/heroes/Hero.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/heroes/Hero.java -------------------------------------------------------------------------------- /src/builder/examples/heroes/HeroBuilder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/heroes/HeroBuilder.java -------------------------------------------------------------------------------- /src/builder/examples/heroes/HeroTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/heroes/HeroTest.java -------------------------------------------------------------------------------- /src/builder/examples/heroes/Profession.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/heroes/Profession.java -------------------------------------------------------------------------------- /src/builder/examples/heroes/Weapon.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/heroes/Weapon.java -------------------------------------------------------------------------------- /src/builder/examples/pizza/Dough.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/pizza/Dough.java -------------------------------------------------------------------------------- /src/builder/examples/pizza/HawaiianPizzaBuilder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/pizza/HawaiianPizzaBuilder.java -------------------------------------------------------------------------------- /src/builder/examples/pizza/Ingredients.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/pizza/Ingredients.java -------------------------------------------------------------------------------- /src/builder/examples/pizza/Pizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/pizza/Pizza.java -------------------------------------------------------------------------------- /src/builder/examples/pizza/PizzaBuilder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/pizza/PizzaBuilder.java -------------------------------------------------------------------------------- /src/builder/examples/pizza/PizzaDirector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/pizza/PizzaDirector.java -------------------------------------------------------------------------------- /src/builder/examples/pizza/PizzaTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/pizza/PizzaTest.java -------------------------------------------------------------------------------- /src/builder/examples/pizza/Sauce.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/pizza/Sauce.java -------------------------------------------------------------------------------- /src/builder/examples/pizza/SpicyPizzaBuilder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/pizza/SpicyPizzaBuilder.java -------------------------------------------------------------------------------- /src/builder/examples/robots/OldRobotBuilder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/robots/OldRobotBuilder.java -------------------------------------------------------------------------------- /src/builder/examples/robots/Robot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/robots/Robot.java -------------------------------------------------------------------------------- /src/builder/examples/robots/RobotBuilder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/robots/RobotBuilder.java -------------------------------------------------------------------------------- /src/builder/examples/robots/RobotBuilderTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/robots/RobotBuilderTest.java -------------------------------------------------------------------------------- /src/builder/examples/robots/RobotDirector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/examples/robots/RobotDirector.java -------------------------------------------------------------------------------- /src/builder/pattern/Builder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/pattern/Builder.java -------------------------------------------------------------------------------- /src/builder/pattern/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/pattern/Client.java -------------------------------------------------------------------------------- /src/builder/pattern/ConcreteBuilder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/pattern/ConcreteBuilder.java -------------------------------------------------------------------------------- /src/builder/pattern/Director.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/pattern/Director.java -------------------------------------------------------------------------------- /src/builder/pattern/Product.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/builder/pattern/Product.java -------------------------------------------------------------------------------- /src/chain/examples/army/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/chain/examples/army/Client.java -------------------------------------------------------------------------------- /src/chain/examples/army/Officer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/chain/examples/army/Officer.java -------------------------------------------------------------------------------- /src/chain/examples/army/Soldier.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/chain/examples/army/Soldier.java -------------------------------------------------------------------------------- /src/chain/examples/army/Unit.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/chain/examples/army/Unit.java -------------------------------------------------------------------------------- /src/command/examples/devices/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/examples/devices/Client.java -------------------------------------------------------------------------------- /src/command/examples/devices/DeviceButton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/examples/devices/DeviceButton.java -------------------------------------------------------------------------------- /src/command/examples/devices/commands/Command.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/examples/devices/commands/Command.java -------------------------------------------------------------------------------- /src/command/examples/devices/commands/TurnOffAllDevices.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/examples/devices/commands/TurnOffAllDevices.java -------------------------------------------------------------------------------- /src/command/examples/devices/commands/TurnOffTelevision.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/examples/devices/commands/TurnOffTelevision.java -------------------------------------------------------------------------------- /src/command/examples/devices/commands/TurnOnTelevision.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/examples/devices/commands/TurnOnTelevision.java -------------------------------------------------------------------------------- /src/command/examples/devices/commands/VolumeDownTelevision.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/examples/devices/commands/VolumeDownTelevision.java -------------------------------------------------------------------------------- /src/command/examples/devices/commands/VolumeUpTelevision.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/examples/devices/commands/VolumeUpTelevision.java -------------------------------------------------------------------------------- /src/command/examples/devices/devices/ElectronicDevice.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/examples/devices/devices/ElectronicDevice.java -------------------------------------------------------------------------------- /src/command/examples/devices/devices/Radio.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/examples/devices/devices/Radio.java -------------------------------------------------------------------------------- /src/command/examples/devices/devices/Television.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/examples/devices/devices/Television.java -------------------------------------------------------------------------------- /src/command/examples/spells/Assistant.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/examples/spells/Assistant.java -------------------------------------------------------------------------------- /src/command/examples/spells/MagicAct.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/examples/spells/MagicAct.java -------------------------------------------------------------------------------- /src/command/examples/spells/Target.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/examples/spells/Target.java -------------------------------------------------------------------------------- /src/command/examples/spells/Wizard.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/examples/spells/Wizard.java -------------------------------------------------------------------------------- /src/command/examples/spells/commands/Age.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/examples/spells/commands/Age.java -------------------------------------------------------------------------------- /src/command/examples/spells/commands/AgeSpell.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/examples/spells/commands/AgeSpell.java -------------------------------------------------------------------------------- /src/command/examples/spells/commands/Command.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/examples/spells/commands/Command.java -------------------------------------------------------------------------------- /src/command/examples/spells/commands/InvisibilitySpell.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/examples/spells/commands/InvisibilitySpell.java -------------------------------------------------------------------------------- /src/command/examples/spells/commands/ShrinkSpell.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/examples/spells/commands/ShrinkSpell.java -------------------------------------------------------------------------------- /src/command/examples/spells/commands/Size.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/examples/spells/commands/Size.java -------------------------------------------------------------------------------- /src/command/examples/spells/commands/Visibility.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/examples/spells/commands/Visibility.java -------------------------------------------------------------------------------- /src/command/pattern/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/pattern/Client.java -------------------------------------------------------------------------------- /src/command/pattern/Command.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/pattern/Command.java -------------------------------------------------------------------------------- /src/command/pattern/ConcreteCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/pattern/ConcreteCommand.java -------------------------------------------------------------------------------- /src/command/pattern/ConcreteReceiver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/pattern/ConcreteReceiver.java -------------------------------------------------------------------------------- /src/command/pattern/Invoker.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/pattern/Invoker.java -------------------------------------------------------------------------------- /src/command/pattern/Receiver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/command/pattern/Receiver.java -------------------------------------------------------------------------------- /src/composite/examples/directories/Directory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/composite/examples/directories/Directory.java -------------------------------------------------------------------------------- /src/composite/examples/directories/File.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/composite/examples/directories/File.java -------------------------------------------------------------------------------- /src/composite/examples/directories/FileSystem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/composite/examples/directories/FileSystem.java -------------------------------------------------------------------------------- /src/composite/examples/directories/FileSystemTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/composite/examples/directories/FileSystemTestDrive.java -------------------------------------------------------------------------------- /src/composite/examples/directories/SimpleFile.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/composite/examples/directories/SimpleFile.java -------------------------------------------------------------------------------- /src/composite/examples/menu/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/composite/examples/menu/Client.java -------------------------------------------------------------------------------- /src/composite/examples/menu/MenuComponent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/composite/examples/menu/MenuComponent.java -------------------------------------------------------------------------------- /src/composite/examples/menu/MenuComposite.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/composite/examples/menu/MenuComposite.java -------------------------------------------------------------------------------- /src/composite/examples/menu/MenuItem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/composite/examples/menu/MenuItem.java -------------------------------------------------------------------------------- /src/composite/examples/menu/MenuTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/composite/examples/menu/MenuTestDrive.java -------------------------------------------------------------------------------- /src/composite/pattern/Component.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/composite/pattern/Component.java -------------------------------------------------------------------------------- /src/composite/pattern/Composite.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/composite/pattern/Composite.java -------------------------------------------------------------------------------- /src/composite/pattern/CompositeTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/composite/pattern/CompositeTest.java -------------------------------------------------------------------------------- /src/composite/pattern/Leaf.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/composite/pattern/Leaf.java -------------------------------------------------------------------------------- /src/decorator/examples/pizzas/Mozzarella.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/decorator/examples/pizzas/Mozzarella.java -------------------------------------------------------------------------------- /src/decorator/examples/pizzas/Pizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/decorator/examples/pizzas/Pizza.java -------------------------------------------------------------------------------- /src/decorator/examples/pizzas/PizzaMaker.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/decorator/examples/pizzas/PizzaMaker.java -------------------------------------------------------------------------------- /src/decorator/examples/pizzas/PlainPizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/decorator/examples/pizzas/PlainPizza.java -------------------------------------------------------------------------------- /src/decorator/examples/pizzas/TomatoSauce.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/decorator/examples/pizzas/TomatoSauce.java -------------------------------------------------------------------------------- /src/decorator/examples/pizzas/ToppingDecorator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/decorator/examples/pizzas/ToppingDecorator.java -------------------------------------------------------------------------------- /src/decorator/pattern/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/decorator/pattern/Client.java -------------------------------------------------------------------------------- /src/decorator/pattern/Component.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/decorator/pattern/Component.java -------------------------------------------------------------------------------- /src/decorator/pattern/ConcreteComponent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/decorator/pattern/ConcreteComponent.java -------------------------------------------------------------------------------- /src/decorator/pattern/ConcreteDecoratorOne.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/decorator/pattern/ConcreteDecoratorOne.java -------------------------------------------------------------------------------- /src/decorator/pattern/ConcreteDecoratorTwo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/decorator/pattern/ConcreteDecoratorTwo.java -------------------------------------------------------------------------------- /src/decorator/pattern/Decorator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/decorator/pattern/Decorator.java -------------------------------------------------------------------------------- /src/facade/examples/bank/AccountNumberCheck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/facade/examples/bank/AccountNumberCheck.java -------------------------------------------------------------------------------- /src/facade/examples/bank/BankFacade.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/facade/examples/bank/BankFacade.java -------------------------------------------------------------------------------- /src/facade/examples/bank/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/facade/examples/bank/Client.java -------------------------------------------------------------------------------- /src/facade/examples/bank/FundsCheck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/facade/examples/bank/FundsCheck.java -------------------------------------------------------------------------------- /src/facade/examples/bank/SecurityCodeCheck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/facade/examples/bank/SecurityCodeCheck.java -------------------------------------------------------------------------------- /src/facade/examples/bank/WelcomeMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/facade/examples/bank/WelcomeMessage.java -------------------------------------------------------------------------------- /src/facade/examples/computer/CPU.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/facade/examples/computer/CPU.java -------------------------------------------------------------------------------- /src/facade/examples/computer/ComputerFacade.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/facade/examples/computer/ComputerFacade.java -------------------------------------------------------------------------------- /src/facade/examples/computer/HardDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/facade/examples/computer/HardDrive.java -------------------------------------------------------------------------------- /src/facade/examples/computer/Memory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/facade/examples/computer/Memory.java -------------------------------------------------------------------------------- /src/facade/examples/computer/User.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/facade/examples/computer/User.java -------------------------------------------------------------------------------- /src/facade/pattern/Action.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/facade/pattern/Action.java -------------------------------------------------------------------------------- /src/facade/pattern/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/facade/pattern/Client.java -------------------------------------------------------------------------------- /src/facade/pattern/ConcreteActionOne.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/facade/pattern/ConcreteActionOne.java -------------------------------------------------------------------------------- /src/facade/pattern/ConcreteActionTwo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/facade/pattern/ConcreteActionTwo.java -------------------------------------------------------------------------------- /src/facade/pattern/Facade.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/facade/pattern/Facade.java -------------------------------------------------------------------------------- /src/factory/examples/cars/CarsFactoryTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/factory/examples/cars/CarsFactoryTestDrive.java -------------------------------------------------------------------------------- /src/factory/examples/cars/factories/CarsFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/factory/examples/cars/factories/CarsFactory.java -------------------------------------------------------------------------------- /src/factory/examples/cars/factories/NissanFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/factory/examples/cars/factories/NissanFactory.java -------------------------------------------------------------------------------- /src/factory/examples/cars/factories/ToyotaFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/factory/examples/cars/factories/ToyotaFactory.java -------------------------------------------------------------------------------- /src/factory/examples/cars/products/Camry.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/factory/examples/cars/products/Camry.java -------------------------------------------------------------------------------- /src/factory/examples/cars/products/Car.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/factory/examples/cars/products/Car.java -------------------------------------------------------------------------------- /src/factory/examples/cars/products/Corolla.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/factory/examples/cars/products/Corolla.java -------------------------------------------------------------------------------- /src/factory/examples/cars/products/Tsuru.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/factory/examples/cars/products/Tsuru.java -------------------------------------------------------------------------------- /src/factory/examples/cars/products/Versa.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/factory/examples/cars/products/Versa.java -------------------------------------------------------------------------------- /src/factory/examples/ships/EnemyShipFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/factory/examples/ships/EnemyShipFactory.java -------------------------------------------------------------------------------- /src/factory/examples/ships/RocketShip.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/factory/examples/ships/RocketShip.java -------------------------------------------------------------------------------- /src/factory/examples/ships/Ship.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/factory/examples/ships/Ship.java -------------------------------------------------------------------------------- /src/factory/examples/ships/ShipFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/factory/examples/ships/ShipFactory.java -------------------------------------------------------------------------------- /src/factory/examples/ships/ShipTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/factory/examples/ships/ShipTestDrive.java -------------------------------------------------------------------------------- /src/factory/examples/ships/UFOShip.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/factory/examples/ships/UFOShip.java -------------------------------------------------------------------------------- /src/factory/pattern/ConcreteFactoryOne.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/factory/pattern/ConcreteFactoryOne.java -------------------------------------------------------------------------------- /src/factory/pattern/ConcreteFactoryTwo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/factory/pattern/ConcreteFactoryTwo.java -------------------------------------------------------------------------------- /src/factory/pattern/ConcreteProductOne.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/factory/pattern/ConcreteProductOne.java -------------------------------------------------------------------------------- /src/factory/pattern/ConcreteProductTwo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/factory/pattern/ConcreteProductTwo.java -------------------------------------------------------------------------------- /src/factory/pattern/Factory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/factory/pattern/Factory.java -------------------------------------------------------------------------------- /src/factory/pattern/FactoryTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/factory/pattern/FactoryTestDrive.java -------------------------------------------------------------------------------- /src/factory/pattern/Product.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/factory/pattern/Product.java -------------------------------------------------------------------------------- /src/flyweight/examples/counterstrike/CounterStrikeTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/flyweight/examples/counterstrike/CounterStrikeTest.java -------------------------------------------------------------------------------- /src/flyweight/examples/counterstrike/CounterTerrorist.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/flyweight/examples/counterstrike/CounterTerrorist.java -------------------------------------------------------------------------------- /src/flyweight/examples/counterstrike/Player.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/flyweight/examples/counterstrike/Player.java -------------------------------------------------------------------------------- /src/flyweight/examples/counterstrike/PlayerFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/flyweight/examples/counterstrike/PlayerFactory.java -------------------------------------------------------------------------------- /src/flyweight/examples/counterstrike/Terrorist.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/flyweight/examples/counterstrike/Terrorist.java -------------------------------------------------------------------------------- /src/interpreter/examples/sql/Context.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/interpreter/examples/sql/Context.java -------------------------------------------------------------------------------- /src/interpreter/examples/sql/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/interpreter/examples/sql/Demo.java -------------------------------------------------------------------------------- /src/interpreter/examples/sql/Expression.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/interpreter/examples/sql/Expression.java -------------------------------------------------------------------------------- /src/interpreter/examples/sql/From.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/interpreter/examples/sql/From.java -------------------------------------------------------------------------------- /src/interpreter/examples/sql/Row.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/interpreter/examples/sql/Row.java -------------------------------------------------------------------------------- /src/interpreter/examples/sql/Select.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/interpreter/examples/sql/Select.java -------------------------------------------------------------------------------- /src/interpreter/examples/sql/Where.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/interpreter/examples/sql/Where.java -------------------------------------------------------------------------------- /src/iterator/examples/notifications/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/iterator/examples/notifications/Client.java -------------------------------------------------------------------------------- /src/iterator/examples/notifications/Collection.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/iterator/examples/notifications/Collection.java -------------------------------------------------------------------------------- /src/iterator/examples/notifications/Iterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/iterator/examples/notifications/Iterator.java -------------------------------------------------------------------------------- /src/iterator/examples/notifications/Notification.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/iterator/examples/notifications/Notification.java -------------------------------------------------------------------------------- /src/iterator/examples/notifications/NotificationBar.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/iterator/examples/notifications/NotificationBar.java -------------------------------------------------------------------------------- /src/iterator/examples/notifications/NotificationCollection.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/iterator/examples/notifications/NotificationCollection.java -------------------------------------------------------------------------------- /src/iterator/examples/notifications/NotificationIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/iterator/examples/notifications/NotificationIterator.java -------------------------------------------------------------------------------- /src/iterator/examples/vectors/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/iterator/examples/vectors/Client.java -------------------------------------------------------------------------------- /src/iterator/examples/vectors/Vector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/iterator/examples/vectors/Vector.java -------------------------------------------------------------------------------- /src/iterator/examples/vectors/VectorIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/iterator/examples/vectors/VectorIterator.java -------------------------------------------------------------------------------- /src/mediator/examples/airtrafficcontroller/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/mediator/examples/airtrafficcontroller/Client.java -------------------------------------------------------------------------------- /src/mediator/examples/airtrafficcontroller/Command.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/mediator/examples/airtrafficcontroller/Command.java -------------------------------------------------------------------------------- /src/mediator/examples/airtrafficcontroller/ControlTower.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/mediator/examples/airtrafficcontroller/ControlTower.java -------------------------------------------------------------------------------- /src/mediator/examples/airtrafficcontroller/Flight.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/mediator/examples/airtrafficcontroller/Flight.java -------------------------------------------------------------------------------- /src/mediator/examples/airtrafficcontroller/Runway.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/mediator/examples/airtrafficcontroller/Runway.java -------------------------------------------------------------------------------- /src/memento/examples/timemachine/Life.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/memento/examples/timemachine/Life.java -------------------------------------------------------------------------------- /src/memento/examples/timemachine/Memento.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/memento/examples/timemachine/Memento.java -------------------------------------------------------------------------------- /src/memento/examples/timemachine/TimeMachineClient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/memento/examples/timemachine/TimeMachineClient.java -------------------------------------------------------------------------------- /src/memento/pattern/Caretaker.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/memento/pattern/Caretaker.java -------------------------------------------------------------------------------- /src/memento/pattern/Memento.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/memento/pattern/Memento.java -------------------------------------------------------------------------------- /src/memento/pattern/MementoTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/memento/pattern/MementoTest.java -------------------------------------------------------------------------------- /src/memento/pattern/Originator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/memento/pattern/Originator.java -------------------------------------------------------------------------------- /src/objectpool/pattern/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/objectpool/pattern/Client.java -------------------------------------------------------------------------------- /src/objectpool/pattern/HeavyObject.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/objectpool/pattern/HeavyObject.java -------------------------------------------------------------------------------- /src/objectpool/pattern/ObjectPool.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/objectpool/pattern/ObjectPool.java -------------------------------------------------------------------------------- /src/objectpool/pattern/ObjectPoolTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/objectpool/pattern/ObjectPoolTest.java -------------------------------------------------------------------------------- /src/observer/examples/auction/AuctionTestDriven.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/observer/examples/auction/AuctionTestDriven.java -------------------------------------------------------------------------------- /src/observer/examples/auction/Auctioneer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/observer/examples/auction/Auctioneer.java -------------------------------------------------------------------------------- /src/observer/examples/auction/Bidder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/observer/examples/auction/Bidder.java -------------------------------------------------------------------------------- /src/observer/pattern/ConcreteObserver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/observer/pattern/ConcreteObserver.java -------------------------------------------------------------------------------- /src/observer/pattern/ConcreteSubject.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/observer/pattern/ConcreteSubject.java -------------------------------------------------------------------------------- /src/observer/pattern/Event.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/observer/pattern/Event.java -------------------------------------------------------------------------------- /src/observer/pattern/Observer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/observer/pattern/Observer.java -------------------------------------------------------------------------------- /src/observer/pattern/Subject.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/observer/pattern/Subject.java -------------------------------------------------------------------------------- /src/observer/pattern/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/observer/pattern/Test.java -------------------------------------------------------------------------------- /src/prototype/examples/animals/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/prototype/examples/animals/Animal.java -------------------------------------------------------------------------------- /src/prototype/examples/animals/AnimalCloneFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/prototype/examples/animals/AnimalCloneFactory.java -------------------------------------------------------------------------------- /src/prototype/examples/animals/AnimalPrototypeTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/prototype/examples/animals/AnimalPrototypeTest.java -------------------------------------------------------------------------------- /src/prototype/examples/animals/Cat.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/prototype/examples/animals/Cat.java -------------------------------------------------------------------------------- /src/prototype/examples/animals/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/prototype/examples/animals/Dog.java -------------------------------------------------------------------------------- /src/prototype/pattern/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/prototype/pattern/Client.java -------------------------------------------------------------------------------- /src/prototype/pattern/ConcretePrototypeOne.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/prototype/pattern/ConcretePrototypeOne.java -------------------------------------------------------------------------------- /src/prototype/pattern/ConcretePrototypeTwo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/prototype/pattern/ConcretePrototypeTwo.java -------------------------------------------------------------------------------- /src/prototype/pattern/Prototype.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/prototype/pattern/Prototype.java -------------------------------------------------------------------------------- /src/prototype/pattern/PrototypeFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/prototype/pattern/PrototypeFactory.java -------------------------------------------------------------------------------- /src/proxy/examples/atm/ATMClient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/proxy/examples/atm/ATMClient.java -------------------------------------------------------------------------------- /src/proxy/examples/atm/ATMMachine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/proxy/examples/atm/ATMMachine.java -------------------------------------------------------------------------------- /src/proxy/examples/atm/ATMProxy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/proxy/examples/atm/ATMProxy.java -------------------------------------------------------------------------------- /src/proxy/examples/atm/GetATMData.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/proxy/examples/atm/GetATMData.java -------------------------------------------------------------------------------- /src/proxy/examples/images/ClientImage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/proxy/examples/images/ClientImage.java -------------------------------------------------------------------------------- /src/proxy/examples/images/Image.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/proxy/examples/images/Image.java -------------------------------------------------------------------------------- /src/proxy/examples/images/ProxyImage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/proxy/examples/images/ProxyImage.java -------------------------------------------------------------------------------- /src/proxy/examples/images/RealImage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/proxy/examples/images/RealImage.java -------------------------------------------------------------------------------- /src/proxy/pattern/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/proxy/pattern/Client.java -------------------------------------------------------------------------------- /src/proxy/pattern/Proxy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/proxy/pattern/Proxy.java -------------------------------------------------------------------------------- /src/proxy/pattern/RealSubject.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/proxy/pattern/RealSubject.java -------------------------------------------------------------------------------- /src/proxy/pattern/Subject.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/proxy/pattern/Subject.java -------------------------------------------------------------------------------- /src/singleton/examples/government/Government.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/singleton/examples/government/Government.java -------------------------------------------------------------------------------- /src/singleton/pattern/Singleton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/singleton/pattern/Singleton.java -------------------------------------------------------------------------------- /src/singleton/pattern/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/singleton/pattern/Test.java -------------------------------------------------------------------------------- /src/state/examples/mobilealerts/AlertStateContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/state/examples/mobilealerts/AlertStateContext.java -------------------------------------------------------------------------------- /src/state/examples/mobilealerts/MobileAlertState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/state/examples/mobilealerts/MobileAlertState.java -------------------------------------------------------------------------------- /src/state/examples/mobilealerts/Ring.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/state/examples/mobilealerts/Ring.java -------------------------------------------------------------------------------- /src/state/examples/mobilealerts/Silent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/state/examples/mobilealerts/Silent.java -------------------------------------------------------------------------------- /src/state/examples/mobilealerts/StateClient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/state/examples/mobilealerts/StateClient.java -------------------------------------------------------------------------------- /src/state/examples/mobilealerts/Vibration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/state/examples/mobilealerts/Vibration.java -------------------------------------------------------------------------------- /src/state/pattern/Context.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/state/pattern/Context.java -------------------------------------------------------------------------------- /src/state/pattern/State.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/state/pattern/State.java -------------------------------------------------------------------------------- /src/state/pattern/StateA.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/state/pattern/StateA.java -------------------------------------------------------------------------------- /src/state/pattern/StateB.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/state/pattern/StateB.java -------------------------------------------------------------------------------- /src/strategy/examples/robot/AgressiveBehavior.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/strategy/examples/robot/AgressiveBehavior.java -------------------------------------------------------------------------------- /src/strategy/examples/robot/DefensiveBehavior.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/strategy/examples/robot/DefensiveBehavior.java -------------------------------------------------------------------------------- /src/strategy/examples/robot/NormalBehavior.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/strategy/examples/robot/NormalBehavior.java -------------------------------------------------------------------------------- /src/strategy/examples/robot/Robot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/strategy/examples/robot/Robot.java -------------------------------------------------------------------------------- /src/strategy/examples/robot/RobotBehavior.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/strategy/examples/robot/RobotBehavior.java -------------------------------------------------------------------------------- /src/strategy/examples/robot/RobotTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/strategy/examples/robot/RobotTestDrive.java -------------------------------------------------------------------------------- /src/strategy/examples/transportation/CityBus.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/strategy/examples/transportation/CityBus.java -------------------------------------------------------------------------------- /src/strategy/examples/transportation/PersonalCar.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/strategy/examples/transportation/PersonalCar.java -------------------------------------------------------------------------------- /src/strategy/examples/transportation/Taxi.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/strategy/examples/transportation/Taxi.java -------------------------------------------------------------------------------- /src/strategy/examples/transportation/TransportationMode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/strategy/examples/transportation/TransportationMode.java -------------------------------------------------------------------------------- /src/strategy/examples/transportation/TransportationModeTestDrive.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/strategy/examples/transportation/TransportationModeTestDrive.java -------------------------------------------------------------------------------- /src/strategy/examples/transportation/Traveler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/strategy/examples/transportation/Traveler.java -------------------------------------------------------------------------------- /src/strategy/pattern/ConcreteStrategyOne.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/strategy/pattern/ConcreteStrategyOne.java -------------------------------------------------------------------------------- /src/strategy/pattern/ConcreteStrategyTwo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/strategy/pattern/ConcreteStrategyTwo.java -------------------------------------------------------------------------------- /src/strategy/pattern/Context.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/strategy/pattern/Context.java -------------------------------------------------------------------------------- /src/strategy/pattern/Strategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/strategy/pattern/Strategy.java -------------------------------------------------------------------------------- /src/template/examples/ordermanaging/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/template/examples/ordermanaging/Client.java -------------------------------------------------------------------------------- /src/template/examples/ordermanaging/NetOrder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/template/examples/ordermanaging/NetOrder.java -------------------------------------------------------------------------------- /src/template/examples/ordermanaging/OrderProcessTemplate.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/template/examples/ordermanaging/OrderProcessTemplate.java -------------------------------------------------------------------------------- /src/template/examples/ordermanaging/StoreOrder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/template/examples/ordermanaging/StoreOrder.java -------------------------------------------------------------------------------- /src/visitor/examples/airportsecuritycontrol/InternationalPassenger.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/visitor/examples/airportsecuritycontrol/InternationalPassenger.java -------------------------------------------------------------------------------- /src/visitor/examples/airportsecuritycontrol/NationalPassenger.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/visitor/examples/airportsecuritycontrol/NationalPassenger.java -------------------------------------------------------------------------------- /src/visitor/examples/airportsecuritycontrol/Passenger.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/visitor/examples/airportsecuritycontrol/Passenger.java -------------------------------------------------------------------------------- /src/visitor/examples/airportsecuritycontrol/PoliceOfficer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/visitor/examples/airportsecuritycontrol/PoliceOfficer.java -------------------------------------------------------------------------------- /src/visitor/examples/airportsecuritycontrol/SecurityControlClient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/visitor/examples/airportsecuritycontrol/SecurityControlClient.java -------------------------------------------------------------------------------- /src/visitor/examples/arithmetic/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/visitor/examples/arithmetic/Client.java -------------------------------------------------------------------------------- /src/visitor/examples/arithmetic/Constant.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/visitor/examples/arithmetic/Constant.java -------------------------------------------------------------------------------- /src/visitor/examples/arithmetic/Expression.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/visitor/examples/arithmetic/Expression.java -------------------------------------------------------------------------------- /src/visitor/examples/arithmetic/Mult.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/visitor/examples/arithmetic/Mult.java -------------------------------------------------------------------------------- /src/visitor/examples/arithmetic/OpBinary.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/visitor/examples/arithmetic/OpBinary.java -------------------------------------------------------------------------------- /src/visitor/examples/arithmetic/Sum.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/visitor/examples/arithmetic/Sum.java -------------------------------------------------------------------------------- /src/visitor/examples/arithmetic/Variable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/visitor/examples/arithmetic/Variable.java -------------------------------------------------------------------------------- /src/visitor/examples/arithmetic/VisitorExpression.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luisburgos/design-patterns/HEAD/src/visitor/examples/arithmetic/VisitorExpression.java --------------------------------------------------------------------------------