├── Chapter02 ├── B09381_02_01.js ├── B09381_02_02.js ├── B09381_02_03.js ├── B09381_02_04.js ├── B09381_02_05.js ├── B09381_02_06.js ├── B09381_02_07.js ├── B09381_02_08.js ├── B09381_02_09.js ├── B09381_02_10.js ├── B09381_02_11.js ├── B09381_02_12.js ├── B09831_02_13.js ├── B09831_02_14.js ├── B09831_02_15.js ├── B09831_02_16.js ├── B09831_02_17.js ├── B09831_02_18.js ├── B09831_02_19.js ├── B09831_02_20.js └── B09831_02_21.js ├── Chapter03 ├── B09381_03_01.js ├── B09381_03_010.js ├── B09381_03_011.js ├── B09381_03_012.js ├── B09381_03_013.0.js ├── B09381_03_013.1.js ├── B09381_03_014.js ├── B09381_03_015.js ├── B09381_03_016.js ├── B09381_03_017.js ├── B09381_03_018.0.js ├── B09381_03_018.1.js ├── B09381_03_019.js ├── B09381_03_02.html ├── B09381_03_020.js ├── B09381_03_021.js ├── B09381_03_022.js ├── B09381_03_023.js ├── B09381_03_024.js ├── B09381_03_025.js ├── B09381_03_026.js ├── B09381_03_027.js ├── B09381_03_028.js ├── B09381_03_029.js ├── B09381_03_03.js ├── B09381_03_030.js ├── B09381_03_031.js ├── B09381_03_032.js ├── B09381_03_033.js ├── B09381_03_034.js ├── B09381_03_035.js ├── B09381_03_036.js ├── B09381_03_037.js ├── B09381_03_038.js ├── B09381_03_039.js ├── B09381_03_04.js ├── B09381_03_040.js ├── B09381_03_041.js ├── B09381_03_042.js ├── B09381_03_043.js ├── B09381_03_044.js ├── B09381_03_045.js ├── B09381_03_046.js ├── B09381_03_05.js ├── B09381_03_06.js ├── B09381_03_07.js ├── B09381_03_08.js └── B09381_03_09.js ├── Chapter04 ├── B09381_04_01.js ├── B09381_04_02.js ├── B09381_04_03.js ├── B09381_04_04.html ├── B09381_04_05.html ├── B09381_04_06.js ├── B09381_04_07.js ├── B09381_04_08.js ├── B09381_04_09.js ├── B09381_04_10.js ├── B09381_04_11.js ├── B09381_04_12.js ├── B09381_04_13.js ├── B09381_04_14.js ├── B09381_04_15.js ├── B09381_04_16.js ├── B09381_04_17.js └── B09381_04_18.js ├── Chapter05 ├── .DS_Store ├── 001_Singleton │ ├── B09381_05_01.js │ └── B09381_05_02.js ├── 002_Prototype │ ├── B09381_05_03.01.js │ └── B09381_05_03.02.js ├── 003_Constructor │ └── B09381_05_04.js ├── 004_Factory_Method │ ├── Main.js │ ├── Pizza.js │ ├── PizzaStore.js │ ├── pizzas │ │ ├── CheesePizza.js │ │ └── ClamPizza.js │ └── stores │ │ └── NewYorkPizzaStore.js ├── 005_Abstract_Factory │ ├── Main.js │ ├── Pizza.js │ ├── PizzaIngredientFactory.js │ ├── PizzaStore.js │ ├── ingredientFactory │ │ └── NewYorkPizzaIngredientFactory.js │ ├── ingredients │ │ ├── FreshClam.js │ │ ├── Garlic.js │ │ ├── MarinaraSauce.js │ │ ├── Mushroom.js │ │ ├── RedPepper.js │ │ ├── ReggianoCheese.js │ │ └── ThinCrustDough.js │ ├── pizzas │ │ ├── CheesePizza.js │ │ └── ClamPizza.js │ └── stores │ │ └── NewYorkPizzaStore.js ├── 006_Builder │ ├── Item.js │ ├── Main.js │ ├── Meal.js │ ├── MealBuilder.js │ ├── Packing.js │ ├── items │ │ ├── Burger.js │ │ ├── Drink.js │ │ ├── SideDishes.js │ │ ├── burgers │ │ │ ├── BeefBurger.js │ │ │ ├── KobeBurger.js │ │ │ └── VeganBurger.js │ │ ├── drinks │ │ │ ├── Champagne.js │ │ │ ├── Coke.js │ │ │ └── Water.js │ │ └── side-dishes │ │ │ ├── Crudettes.js │ │ │ ├── Fries.js │ │ │ └── Salad.js │ └── packing │ │ ├── Bottle.js │ │ ├── BoxUp.js │ │ └── Wrapper.js └── B09381_05_0.js ├── Chapter06 ├── 001_Adapter │ ├── Duck.js │ ├── MallardDuck.js │ ├── Turkey.js │ ├── TurkeyAdapter.js │ ├── WildTurkey.js │ └── main.js ├── 002_Composite │ ├── CafeMenu.js │ ├── LunchMenu.js │ ├── Mattress.js │ ├── Menu.js │ ├── MenuComponent.js │ ├── MenuItem.js │ ├── PancakeHouseMenu.js │ └── main.js ├── 003_Decorator │ ├── Beverage.js │ ├── CondimentDecorator.js │ ├── Expresso.js │ ├── HouseBlend.js │ ├── Mocha.js │ ├── Whip.js │ └── main.js ├── 004_Bridge │ ├── Adventure4x4Car.js │ ├── Car.js │ ├── Color.js │ ├── FamilyCar.js │ ├── GreyColor.js │ ├── MatteBlackColor.js │ ├── RedColor.js │ ├── UrbanCar.js │ └── main.js ├── 005_Facade │ ├── Amplifier.js │ ├── BrPlayer.js │ ├── DummyConstructor.js │ ├── HomeTheaterFacade.js │ ├── Movie.js │ ├── Mp3Player.js │ ├── Nikita.js │ ├── Playable.js │ ├── PopcornPopper.js │ ├── Projector.js │ ├── Screen.js │ ├── Switchable.js │ ├── TheaterLights.js │ ├── Tuner.js │ └── main.js ├── 006_Flyweight │ ├── Forest.js │ ├── Tree.js │ ├── TreeFactory.js │ ├── TreeType.js │ └── main.js ├── 007_Proxy │ ├── PublicLibrary.js │ ├── PublicLibraryProxy.js │ └── main.js └── 008_VirtualProxy │ ├── PublicLibrary.js │ ├── PublicLibraryVirtualProxy.js │ ├── main.js │ └── utils.js ├── Chapter07 ├── Chain of responsibility │ ├── ATM.js │ ├── Currency.js │ ├── DispenseChain.js │ ├── FiftyBillDispenser.js │ ├── TenBillDispenser.js │ ├── TwentyBillDispenser.js │ └── main.js ├── Command │ ├── Command.js │ ├── Light.js │ ├── LightOnCommand.js │ ├── SimpleRemoteControl.js │ └── main.js ├── Composite Iterator │ ├── Mattress.js │ ├── Menu.js │ ├── MenuComponent.js │ ├── MenuItem.js │ └── main.js ├── Interpreter │ ├── Context.js │ ├── DecimalToRomanInterpreter.js │ ├── Interpreter.js │ └── main.js ├── Iterator │ ├── Iterator.js │ ├── LunchMenu.js │ ├── Mattress.js │ ├── Menu.js │ ├── MenuItem.js │ └── main.js ├── Mediator │ ├── Airplane.js │ ├── AirportControlTower.js │ ├── AirportLane.js │ ├── Mediator.js │ └── main.js ├── Memento │ ├── Caretaker.js │ ├── Command.js │ ├── Line.js │ ├── LineEditor.js │ ├── Memento.js │ ├── Originator.js │ ├── Painter.js │ ├── Snapshot.js │ └── main.js ├── Observer │ ├── CurrentConditionsDisplay.js │ ├── Displayable.js │ ├── Observable.js │ ├── Subject.js │ ├── WeatherStation.js │ └── main.js ├── State │ ├── Download.js │ ├── DownloadFailedState.js │ ├── DownloadPausedState.js │ ├── DownloadedState.js │ ├── DownloadingState.js │ ├── ReadyState.js │ ├── State.js │ └── main.js ├── Strategy │ ├── DecoyDuck.js │ ├── Duck.js │ ├── Flyable.js │ ├── MallardDuck.js │ ├── Quackable.js │ ├── RedheadDuck.js │ ├── RubberDuck.js │ └── main.js ├── Template Method │ ├── CaffeineBeverage.js │ ├── Coffee.js │ ├── Tea.js │ └── main.js └── Visitor │ ├── Book.js │ ├── PostageVisitor.js │ ├── ShoppingCart.js │ ├── Visitable.js │ ├── Visitor.js │ └── main.js ├── LICENSE └── README.md /Chapter02/B09381_02_01.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter02/B09381_02_01.js -------------------------------------------------------------------------------- /Chapter02/B09381_02_02.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter02/B09381_02_02.js -------------------------------------------------------------------------------- /Chapter02/B09381_02_03.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter02/B09381_02_03.js -------------------------------------------------------------------------------- /Chapter02/B09381_02_04.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter02/B09381_02_04.js -------------------------------------------------------------------------------- /Chapter02/B09381_02_05.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter02/B09381_02_05.js -------------------------------------------------------------------------------- /Chapter02/B09381_02_06.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter02/B09381_02_06.js -------------------------------------------------------------------------------- /Chapter02/B09381_02_07.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter02/B09381_02_07.js -------------------------------------------------------------------------------- /Chapter02/B09381_02_08.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter02/B09381_02_08.js -------------------------------------------------------------------------------- /Chapter02/B09381_02_09.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter02/B09381_02_09.js -------------------------------------------------------------------------------- /Chapter02/B09381_02_10.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter02/B09381_02_10.js -------------------------------------------------------------------------------- /Chapter02/B09381_02_11.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter02/B09381_02_11.js -------------------------------------------------------------------------------- /Chapter02/B09381_02_12.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter02/B09381_02_12.js -------------------------------------------------------------------------------- /Chapter02/B09831_02_13.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter02/B09831_02_13.js -------------------------------------------------------------------------------- /Chapter02/B09831_02_14.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter02/B09831_02_14.js -------------------------------------------------------------------------------- /Chapter02/B09831_02_15.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter02/B09831_02_15.js -------------------------------------------------------------------------------- /Chapter02/B09831_02_16.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter02/B09831_02_16.js -------------------------------------------------------------------------------- /Chapter02/B09831_02_17.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter02/B09831_02_17.js -------------------------------------------------------------------------------- /Chapter02/B09831_02_18.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter02/B09831_02_18.js -------------------------------------------------------------------------------- /Chapter02/B09831_02_19.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter02/B09831_02_19.js -------------------------------------------------------------------------------- /Chapter02/B09831_02_20.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter02/B09831_02_20.js -------------------------------------------------------------------------------- /Chapter02/B09831_02_21.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter02/B09831_02_21.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_01.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_01.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_010.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_010.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_011.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_011.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_012.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_012.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_013.0.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_013.0.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_013.1.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_013.1.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_014.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_014.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_015.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_015.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_016.js: -------------------------------------------------------------------------------- 1 | $.getJSON('http://some.external.resource', (json) => { 2 | //process returned data 3 | }); -------------------------------------------------------------------------------- /Chapter03/B09381_03_017.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_017.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_018.0.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_018.0.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_018.1.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_018.1.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_019.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_019.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_02.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_02.html -------------------------------------------------------------------------------- /Chapter03/B09381_03_020.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_020.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_021.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_021.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_022.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_022.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_023.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_023.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_024.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_024.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_025.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_025.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_026.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_026.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_027.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_027.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_028.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_028.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_029.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_029.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_03.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_03.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_030.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_030.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_031.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_031.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_032.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_032.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_033.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_033.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_034.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_034.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_035.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_035.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_036.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_036.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_037.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_037.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_038.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_038.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_039.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_039.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_04.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_04.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_040.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_040.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_041.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_041.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_042.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_042.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_043.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_043.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_044.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_044.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_045.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_045.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_046.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_046.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_05.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_05.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_06.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_06.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_07.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_07.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_08.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_08.js -------------------------------------------------------------------------------- /Chapter03/B09381_03_09.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter03/B09381_03_09.js -------------------------------------------------------------------------------- /Chapter04/B09381_04_01.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter04/B09381_04_01.js -------------------------------------------------------------------------------- /Chapter04/B09381_04_02.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter04/B09381_04_02.js -------------------------------------------------------------------------------- /Chapter04/B09381_04_03.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter04/B09381_04_03.js -------------------------------------------------------------------------------- /Chapter04/B09381_04_04.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter04/B09381_04_04.html -------------------------------------------------------------------------------- /Chapter04/B09381_04_05.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter04/B09381_04_05.html -------------------------------------------------------------------------------- /Chapter04/B09381_04_06.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter04/B09381_04_06.js -------------------------------------------------------------------------------- /Chapter04/B09381_04_07.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter04/B09381_04_07.js -------------------------------------------------------------------------------- /Chapter04/B09381_04_08.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter04/B09381_04_08.js -------------------------------------------------------------------------------- /Chapter04/B09381_04_09.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter04/B09381_04_09.js -------------------------------------------------------------------------------- /Chapter04/B09381_04_10.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter04/B09381_04_10.js -------------------------------------------------------------------------------- /Chapter04/B09381_04_11.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter04/B09381_04_11.js -------------------------------------------------------------------------------- /Chapter04/B09381_04_12.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter04/B09381_04_12.js -------------------------------------------------------------------------------- /Chapter04/B09381_04_13.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter04/B09381_04_13.js -------------------------------------------------------------------------------- /Chapter04/B09381_04_14.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter04/B09381_04_14.js -------------------------------------------------------------------------------- /Chapter04/B09381_04_15.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter04/B09381_04_15.js -------------------------------------------------------------------------------- /Chapter04/B09381_04_16.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter04/B09381_04_16.js -------------------------------------------------------------------------------- /Chapter04/B09381_04_17.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter04/B09381_04_17.js -------------------------------------------------------------------------------- /Chapter04/B09381_04_18.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter05/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/.DS_Store -------------------------------------------------------------------------------- /Chapter05/001_Singleton/B09381_05_01.js: -------------------------------------------------------------------------------- 1 | const obj = {}; -------------------------------------------------------------------------------- /Chapter05/001_Singleton/B09381_05_02.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/001_Singleton/B09381_05_02.js -------------------------------------------------------------------------------- /Chapter05/002_Prototype/B09381_05_03.01.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/002_Prototype/B09381_05_03.01.js -------------------------------------------------------------------------------- /Chapter05/002_Prototype/B09381_05_03.02.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/002_Prototype/B09381_05_03.02.js -------------------------------------------------------------------------------- /Chapter05/003_Constructor/B09381_05_04.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/003_Constructor/B09381_05_04.js -------------------------------------------------------------------------------- /Chapter05/004_Factory_Method/Main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/004_Factory_Method/Main.js -------------------------------------------------------------------------------- /Chapter05/004_Factory_Method/Pizza.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/004_Factory_Method/Pizza.js -------------------------------------------------------------------------------- /Chapter05/004_Factory_Method/PizzaStore.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/004_Factory_Method/PizzaStore.js -------------------------------------------------------------------------------- /Chapter05/004_Factory_Method/pizzas/CheesePizza.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/004_Factory_Method/pizzas/CheesePizza.js -------------------------------------------------------------------------------- /Chapter05/004_Factory_Method/pizzas/ClamPizza.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/004_Factory_Method/pizzas/ClamPizza.js -------------------------------------------------------------------------------- /Chapter05/004_Factory_Method/stores/NewYorkPizzaStore.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/004_Factory_Method/stores/NewYorkPizzaStore.js -------------------------------------------------------------------------------- /Chapter05/005_Abstract_Factory/Main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/005_Abstract_Factory/Main.js -------------------------------------------------------------------------------- /Chapter05/005_Abstract_Factory/Pizza.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/005_Abstract_Factory/Pizza.js -------------------------------------------------------------------------------- /Chapter05/005_Abstract_Factory/PizzaIngredientFactory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/005_Abstract_Factory/PizzaIngredientFactory.js -------------------------------------------------------------------------------- /Chapter05/005_Abstract_Factory/PizzaStore.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/005_Abstract_Factory/PizzaStore.js -------------------------------------------------------------------------------- /Chapter05/005_Abstract_Factory/ingredientFactory/NewYorkPizzaIngredientFactory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/005_Abstract_Factory/ingredientFactory/NewYorkPizzaIngredientFactory.js -------------------------------------------------------------------------------- /Chapter05/005_Abstract_Factory/ingredients/FreshClam.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/005_Abstract_Factory/ingredients/FreshClam.js -------------------------------------------------------------------------------- /Chapter05/005_Abstract_Factory/ingredients/Garlic.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/005_Abstract_Factory/ingredients/Garlic.js -------------------------------------------------------------------------------- /Chapter05/005_Abstract_Factory/ingredients/MarinaraSauce.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/005_Abstract_Factory/ingredients/MarinaraSauce.js -------------------------------------------------------------------------------- /Chapter05/005_Abstract_Factory/ingredients/Mushroom.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/005_Abstract_Factory/ingredients/Mushroom.js -------------------------------------------------------------------------------- /Chapter05/005_Abstract_Factory/ingredients/RedPepper.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/005_Abstract_Factory/ingredients/RedPepper.js -------------------------------------------------------------------------------- /Chapter05/005_Abstract_Factory/ingredients/ReggianoCheese.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/005_Abstract_Factory/ingredients/ReggianoCheese.js -------------------------------------------------------------------------------- /Chapter05/005_Abstract_Factory/ingredients/ThinCrustDough.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/005_Abstract_Factory/ingredients/ThinCrustDough.js -------------------------------------------------------------------------------- /Chapter05/005_Abstract_Factory/pizzas/CheesePizza.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/005_Abstract_Factory/pizzas/CheesePizza.js -------------------------------------------------------------------------------- /Chapter05/005_Abstract_Factory/pizzas/ClamPizza.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/005_Abstract_Factory/pizzas/ClamPizza.js -------------------------------------------------------------------------------- /Chapter05/005_Abstract_Factory/stores/NewYorkPizzaStore.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/005_Abstract_Factory/stores/NewYorkPizzaStore.js -------------------------------------------------------------------------------- /Chapter05/006_Builder/Item.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/006_Builder/Item.js -------------------------------------------------------------------------------- /Chapter05/006_Builder/Main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/006_Builder/Main.js -------------------------------------------------------------------------------- /Chapter05/006_Builder/Meal.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/006_Builder/Meal.js -------------------------------------------------------------------------------- /Chapter05/006_Builder/MealBuilder.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/006_Builder/MealBuilder.js -------------------------------------------------------------------------------- /Chapter05/006_Builder/Packing.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/006_Builder/Packing.js -------------------------------------------------------------------------------- /Chapter05/006_Builder/items/Burger.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/006_Builder/items/Burger.js -------------------------------------------------------------------------------- /Chapter05/006_Builder/items/Drink.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/006_Builder/items/Drink.js -------------------------------------------------------------------------------- /Chapter05/006_Builder/items/SideDishes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/006_Builder/items/SideDishes.js -------------------------------------------------------------------------------- /Chapter05/006_Builder/items/burgers/BeefBurger.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/006_Builder/items/burgers/BeefBurger.js -------------------------------------------------------------------------------- /Chapter05/006_Builder/items/burgers/KobeBurger.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/006_Builder/items/burgers/KobeBurger.js -------------------------------------------------------------------------------- /Chapter05/006_Builder/items/burgers/VeganBurger.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/006_Builder/items/burgers/VeganBurger.js -------------------------------------------------------------------------------- /Chapter05/006_Builder/items/drinks/Champagne.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/006_Builder/items/drinks/Champagne.js -------------------------------------------------------------------------------- /Chapter05/006_Builder/items/drinks/Coke.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/006_Builder/items/drinks/Coke.js -------------------------------------------------------------------------------- /Chapter05/006_Builder/items/drinks/Water.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/006_Builder/items/drinks/Water.js -------------------------------------------------------------------------------- /Chapter05/006_Builder/items/side-dishes/Crudettes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/006_Builder/items/side-dishes/Crudettes.js -------------------------------------------------------------------------------- /Chapter05/006_Builder/items/side-dishes/Fries.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/006_Builder/items/side-dishes/Fries.js -------------------------------------------------------------------------------- /Chapter05/006_Builder/items/side-dishes/Salad.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/006_Builder/items/side-dishes/Salad.js -------------------------------------------------------------------------------- /Chapter05/006_Builder/packing/Bottle.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/006_Builder/packing/Bottle.js -------------------------------------------------------------------------------- /Chapter05/006_Builder/packing/BoxUp.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/006_Builder/packing/BoxUp.js -------------------------------------------------------------------------------- /Chapter05/006_Builder/packing/Wrapper.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter05/006_Builder/packing/Wrapper.js -------------------------------------------------------------------------------- /Chapter05/B09381_05_0.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter06/001_Adapter/Duck.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/001_Adapter/Duck.js -------------------------------------------------------------------------------- /Chapter06/001_Adapter/MallardDuck.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/001_Adapter/MallardDuck.js -------------------------------------------------------------------------------- /Chapter06/001_Adapter/Turkey.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/001_Adapter/Turkey.js -------------------------------------------------------------------------------- /Chapter06/001_Adapter/TurkeyAdapter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/001_Adapter/TurkeyAdapter.js -------------------------------------------------------------------------------- /Chapter06/001_Adapter/WildTurkey.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/001_Adapter/WildTurkey.js -------------------------------------------------------------------------------- /Chapter06/001_Adapter/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/001_Adapter/main.js -------------------------------------------------------------------------------- /Chapter06/002_Composite/CafeMenu.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/002_Composite/CafeMenu.js -------------------------------------------------------------------------------- /Chapter06/002_Composite/LunchMenu.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/002_Composite/LunchMenu.js -------------------------------------------------------------------------------- /Chapter06/002_Composite/Mattress.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/002_Composite/Mattress.js -------------------------------------------------------------------------------- /Chapter06/002_Composite/Menu.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/002_Composite/Menu.js -------------------------------------------------------------------------------- /Chapter06/002_Composite/MenuComponent.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/002_Composite/MenuComponent.js -------------------------------------------------------------------------------- /Chapter06/002_Composite/MenuItem.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/002_Composite/MenuItem.js -------------------------------------------------------------------------------- /Chapter06/002_Composite/PancakeHouseMenu.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/002_Composite/PancakeHouseMenu.js -------------------------------------------------------------------------------- /Chapter06/002_Composite/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/002_Composite/main.js -------------------------------------------------------------------------------- /Chapter06/003_Decorator/Beverage.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/003_Decorator/Beverage.js -------------------------------------------------------------------------------- /Chapter06/003_Decorator/CondimentDecorator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/003_Decorator/CondimentDecorator.js -------------------------------------------------------------------------------- /Chapter06/003_Decorator/Expresso.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/003_Decorator/Expresso.js -------------------------------------------------------------------------------- /Chapter06/003_Decorator/HouseBlend.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/003_Decorator/HouseBlend.js -------------------------------------------------------------------------------- /Chapter06/003_Decorator/Mocha.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/003_Decorator/Mocha.js -------------------------------------------------------------------------------- /Chapter06/003_Decorator/Whip.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/003_Decorator/Whip.js -------------------------------------------------------------------------------- /Chapter06/003_Decorator/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/003_Decorator/main.js -------------------------------------------------------------------------------- /Chapter06/004_Bridge/Adventure4x4Car.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/004_Bridge/Adventure4x4Car.js -------------------------------------------------------------------------------- /Chapter06/004_Bridge/Car.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/004_Bridge/Car.js -------------------------------------------------------------------------------- /Chapter06/004_Bridge/Color.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/004_Bridge/Color.js -------------------------------------------------------------------------------- /Chapter06/004_Bridge/FamilyCar.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/004_Bridge/FamilyCar.js -------------------------------------------------------------------------------- /Chapter06/004_Bridge/GreyColor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/004_Bridge/GreyColor.js -------------------------------------------------------------------------------- /Chapter06/004_Bridge/MatteBlackColor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/004_Bridge/MatteBlackColor.js -------------------------------------------------------------------------------- /Chapter06/004_Bridge/RedColor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/004_Bridge/RedColor.js -------------------------------------------------------------------------------- /Chapter06/004_Bridge/UrbanCar.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/004_Bridge/UrbanCar.js -------------------------------------------------------------------------------- /Chapter06/004_Bridge/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/004_Bridge/main.js -------------------------------------------------------------------------------- /Chapter06/005_Facade/Amplifier.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/005_Facade/Amplifier.js -------------------------------------------------------------------------------- /Chapter06/005_Facade/BrPlayer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/005_Facade/BrPlayer.js -------------------------------------------------------------------------------- /Chapter06/005_Facade/DummyConstructor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/005_Facade/DummyConstructor.js -------------------------------------------------------------------------------- /Chapter06/005_Facade/HomeTheaterFacade.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/005_Facade/HomeTheaterFacade.js -------------------------------------------------------------------------------- /Chapter06/005_Facade/Movie.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/005_Facade/Movie.js -------------------------------------------------------------------------------- /Chapter06/005_Facade/Mp3Player.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/005_Facade/Mp3Player.js -------------------------------------------------------------------------------- /Chapter06/005_Facade/Nikita.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/005_Facade/Nikita.js -------------------------------------------------------------------------------- /Chapter06/005_Facade/Playable.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/005_Facade/Playable.js -------------------------------------------------------------------------------- /Chapter06/005_Facade/PopcornPopper.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/005_Facade/PopcornPopper.js -------------------------------------------------------------------------------- /Chapter06/005_Facade/Projector.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/005_Facade/Projector.js -------------------------------------------------------------------------------- /Chapter06/005_Facade/Screen.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/005_Facade/Screen.js -------------------------------------------------------------------------------- /Chapter06/005_Facade/Switchable.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/005_Facade/Switchable.js -------------------------------------------------------------------------------- /Chapter06/005_Facade/TheaterLights.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/005_Facade/TheaterLights.js -------------------------------------------------------------------------------- /Chapter06/005_Facade/Tuner.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/005_Facade/Tuner.js -------------------------------------------------------------------------------- /Chapter06/005_Facade/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/005_Facade/main.js -------------------------------------------------------------------------------- /Chapter06/006_Flyweight/Forest.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/006_Flyweight/Forest.js -------------------------------------------------------------------------------- /Chapter06/006_Flyweight/Tree.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/006_Flyweight/Tree.js -------------------------------------------------------------------------------- /Chapter06/006_Flyweight/TreeFactory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/006_Flyweight/TreeFactory.js -------------------------------------------------------------------------------- /Chapter06/006_Flyweight/TreeType.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/006_Flyweight/TreeType.js -------------------------------------------------------------------------------- /Chapter06/006_Flyweight/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/006_Flyweight/main.js -------------------------------------------------------------------------------- /Chapter06/007_Proxy/PublicLibrary.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/007_Proxy/PublicLibrary.js -------------------------------------------------------------------------------- /Chapter06/007_Proxy/PublicLibraryProxy.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/007_Proxy/PublicLibraryProxy.js -------------------------------------------------------------------------------- /Chapter06/007_Proxy/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/007_Proxy/main.js -------------------------------------------------------------------------------- /Chapter06/008_VirtualProxy/PublicLibrary.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/008_VirtualProxy/PublicLibrary.js -------------------------------------------------------------------------------- /Chapter06/008_VirtualProxy/PublicLibraryVirtualProxy.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/008_VirtualProxy/PublicLibraryVirtualProxy.js -------------------------------------------------------------------------------- /Chapter06/008_VirtualProxy/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/008_VirtualProxy/main.js -------------------------------------------------------------------------------- /Chapter06/008_VirtualProxy/utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter06/008_VirtualProxy/utils.js -------------------------------------------------------------------------------- /Chapter07/Chain of responsibility/ATM.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Chain of responsibility/ATM.js -------------------------------------------------------------------------------- /Chapter07/Chain of responsibility/Currency.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Chain of responsibility/Currency.js -------------------------------------------------------------------------------- /Chapter07/Chain of responsibility/DispenseChain.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Chain of responsibility/DispenseChain.js -------------------------------------------------------------------------------- /Chapter07/Chain of responsibility/FiftyBillDispenser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Chain of responsibility/FiftyBillDispenser.js -------------------------------------------------------------------------------- /Chapter07/Chain of responsibility/TenBillDispenser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Chain of responsibility/TenBillDispenser.js -------------------------------------------------------------------------------- /Chapter07/Chain of responsibility/TwentyBillDispenser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Chain of responsibility/TwentyBillDispenser.js -------------------------------------------------------------------------------- /Chapter07/Chain of responsibility/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Chain of responsibility/main.js -------------------------------------------------------------------------------- /Chapter07/Command/Command.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Command/Command.js -------------------------------------------------------------------------------- /Chapter07/Command/Light.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Command/Light.js -------------------------------------------------------------------------------- /Chapter07/Command/LightOnCommand.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Command/LightOnCommand.js -------------------------------------------------------------------------------- /Chapter07/Command/SimpleRemoteControl.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Command/SimpleRemoteControl.js -------------------------------------------------------------------------------- /Chapter07/Command/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Command/main.js -------------------------------------------------------------------------------- /Chapter07/Composite Iterator/Mattress.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Composite Iterator/Mattress.js -------------------------------------------------------------------------------- /Chapter07/Composite Iterator/Menu.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Composite Iterator/Menu.js -------------------------------------------------------------------------------- /Chapter07/Composite Iterator/MenuComponent.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Composite Iterator/MenuComponent.js -------------------------------------------------------------------------------- /Chapter07/Composite Iterator/MenuItem.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Composite Iterator/MenuItem.js -------------------------------------------------------------------------------- /Chapter07/Composite Iterator/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Composite Iterator/main.js -------------------------------------------------------------------------------- /Chapter07/Interpreter/Context.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Interpreter/Context.js -------------------------------------------------------------------------------- /Chapter07/Interpreter/DecimalToRomanInterpreter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Interpreter/DecimalToRomanInterpreter.js -------------------------------------------------------------------------------- /Chapter07/Interpreter/Interpreter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Interpreter/Interpreter.js -------------------------------------------------------------------------------- /Chapter07/Interpreter/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Interpreter/main.js -------------------------------------------------------------------------------- /Chapter07/Iterator/Iterator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Iterator/Iterator.js -------------------------------------------------------------------------------- /Chapter07/Iterator/LunchMenu.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Iterator/LunchMenu.js -------------------------------------------------------------------------------- /Chapter07/Iterator/Mattress.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Iterator/Mattress.js -------------------------------------------------------------------------------- /Chapter07/Iterator/Menu.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Iterator/Menu.js -------------------------------------------------------------------------------- /Chapter07/Iterator/MenuItem.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Iterator/MenuItem.js -------------------------------------------------------------------------------- /Chapter07/Iterator/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Iterator/main.js -------------------------------------------------------------------------------- /Chapter07/Mediator/Airplane.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Mediator/Airplane.js -------------------------------------------------------------------------------- /Chapter07/Mediator/AirportControlTower.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Mediator/AirportControlTower.js -------------------------------------------------------------------------------- /Chapter07/Mediator/AirportLane.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Mediator/AirportLane.js -------------------------------------------------------------------------------- /Chapter07/Mediator/Mediator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Mediator/Mediator.js -------------------------------------------------------------------------------- /Chapter07/Mediator/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Mediator/main.js -------------------------------------------------------------------------------- /Chapter07/Memento/Caretaker.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Memento/Caretaker.js -------------------------------------------------------------------------------- /Chapter07/Memento/Command.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Memento/Command.js -------------------------------------------------------------------------------- /Chapter07/Memento/Line.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Memento/Line.js -------------------------------------------------------------------------------- /Chapter07/Memento/LineEditor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Memento/LineEditor.js -------------------------------------------------------------------------------- /Chapter07/Memento/Memento.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Memento/Memento.js -------------------------------------------------------------------------------- /Chapter07/Memento/Originator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Memento/Originator.js -------------------------------------------------------------------------------- /Chapter07/Memento/Painter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Memento/Painter.js -------------------------------------------------------------------------------- /Chapter07/Memento/Snapshot.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Memento/Snapshot.js -------------------------------------------------------------------------------- /Chapter07/Memento/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Memento/main.js -------------------------------------------------------------------------------- /Chapter07/Observer/CurrentConditionsDisplay.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Observer/CurrentConditionsDisplay.js -------------------------------------------------------------------------------- /Chapter07/Observer/Displayable.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Observer/Displayable.js -------------------------------------------------------------------------------- /Chapter07/Observer/Observable.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Observer/Observable.js -------------------------------------------------------------------------------- /Chapter07/Observer/Subject.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Observer/Subject.js -------------------------------------------------------------------------------- /Chapter07/Observer/WeatherStation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Observer/WeatherStation.js -------------------------------------------------------------------------------- /Chapter07/Observer/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Observer/main.js -------------------------------------------------------------------------------- /Chapter07/State/Download.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/State/Download.js -------------------------------------------------------------------------------- /Chapter07/State/DownloadFailedState.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/State/DownloadFailedState.js -------------------------------------------------------------------------------- /Chapter07/State/DownloadPausedState.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/State/DownloadPausedState.js -------------------------------------------------------------------------------- /Chapter07/State/DownloadedState.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/State/DownloadedState.js -------------------------------------------------------------------------------- /Chapter07/State/DownloadingState.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/State/DownloadingState.js -------------------------------------------------------------------------------- /Chapter07/State/ReadyState.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/State/ReadyState.js -------------------------------------------------------------------------------- /Chapter07/State/State.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/State/State.js -------------------------------------------------------------------------------- /Chapter07/State/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/State/main.js -------------------------------------------------------------------------------- /Chapter07/Strategy/DecoyDuck.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Strategy/DecoyDuck.js -------------------------------------------------------------------------------- /Chapter07/Strategy/Duck.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Strategy/Duck.js -------------------------------------------------------------------------------- /Chapter07/Strategy/Flyable.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Strategy/Flyable.js -------------------------------------------------------------------------------- /Chapter07/Strategy/MallardDuck.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Strategy/MallardDuck.js -------------------------------------------------------------------------------- /Chapter07/Strategy/Quackable.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Strategy/Quackable.js -------------------------------------------------------------------------------- /Chapter07/Strategy/RedheadDuck.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Strategy/RedheadDuck.js -------------------------------------------------------------------------------- /Chapter07/Strategy/RubberDuck.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Strategy/RubberDuck.js -------------------------------------------------------------------------------- /Chapter07/Strategy/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Strategy/main.js -------------------------------------------------------------------------------- /Chapter07/Template Method/CaffeineBeverage.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Template Method/CaffeineBeverage.js -------------------------------------------------------------------------------- /Chapter07/Template Method/Coffee.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Template Method/Coffee.js -------------------------------------------------------------------------------- /Chapter07/Template Method/Tea.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Template Method/Tea.js -------------------------------------------------------------------------------- /Chapter07/Template Method/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Template Method/main.js -------------------------------------------------------------------------------- /Chapter07/Visitor/Book.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Visitor/Book.js -------------------------------------------------------------------------------- /Chapter07/Visitor/PostageVisitor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Visitor/PostageVisitor.js -------------------------------------------------------------------------------- /Chapter07/Visitor/ShoppingCart.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Visitor/ShoppingCart.js -------------------------------------------------------------------------------- /Chapter07/Visitor/Visitable.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Visitor/Visitable.js -------------------------------------------------------------------------------- /Chapter07/Visitor/Visitor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Visitor/Visitor.js -------------------------------------------------------------------------------- /Chapter07/Visitor/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/Chapter07/Visitor/main.js -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-JavaScript-Design-Patterns-Third-Edition/HEAD/README.md --------------------------------------------------------------------------------