├── README.md ├── cpp ├── Basics │ ├── OOPS │ │ ├── Card.cpp │ │ ├── Client.cpp │ │ ├── CreditCard.cpp │ │ ├── DebitCard.cpp │ │ ├── PaymentMethod.cpp │ │ ├── PaymentService.cpp │ │ ├── UPI.cpp │ │ └── Wallet.cpp │ └── UML │ │ ├── AggregationExample.cpp │ │ ├── AssociationExample.cpp │ │ ├── CompositionExample.cpp │ │ ├── DependencyExample.cpp │ │ ├── InheritanceExample.cpp │ │ └── RealizationExample.cpp ├── BehaviouralPatterns │ ├── CommandPattern │ │ ├── WithCommandPattern.cpp │ │ └── WithoutCommandPattern.cpp │ ├── IteratorPattern │ │ ├── Book.cpp │ │ ├── BookCollectionV1.cpp │ │ ├── BookCollectionV2.cpp │ │ ├── BookCollectionV3.cpp │ │ ├── ClientV1.cpp │ │ ├── ClientV2.cpp │ │ └── ClientV3.cpp │ ├── MediatorPattern │ │ ├── WithMediatorPattern.cpp │ │ └── WithoutMediatorPattern.cpp │ ├── MementoPattern │ │ ├── Caretaker.cpp │ │ ├── EditorMemento.cpp │ │ ├── TextEditor.cpp │ │ └── TextEditorMain.cpp │ ├── ObserverPattern │ │ ├── ObserverPatternExample.cpp │ │ └── WithoutObserverPattern.cpp │ ├── StatePattern │ │ ├── Problem │ │ │ ├── DirectionService.cpp │ │ │ └── WithoutStatePattern.cpp │ │ └── Solution │ │ │ ├── Car.cpp │ │ │ ├── Cycling.cpp │ │ │ ├── DirectionService.cpp │ │ │ ├── Train.cpp │ │ │ ├── TransportationMode.cpp │ │ │ ├── Walking.cpp │ │ │ └── WithStatePattern.cpp │ ├── StrategyPattern │ │ ├── StrategyPattern.cpp │ │ └── WithoutStrategyPattern.cpp │ └── TemplateMethodPattern │ │ ├── WithTemplatePattern.cpp │ │ └── WithoutTemplateMethod.cpp ├── CreationalPatterns │ ├── AbstractFactoryPattern │ │ ├── Problem │ │ │ └── Application.cpp │ │ └── Solution │ │ │ └── Application.cpp │ ├── BuilderPattern │ │ ├── Problem │ │ │ ├── House.cpp │ │ │ └── WithoutBuilderPattern.cpp │ │ └── Solution │ │ │ ├── House.cpp │ │ │ └── WithBuilderPattern.cpp │ ├── FactoryPattern │ │ ├── Problem │ │ │ ├── Bike.cpp │ │ │ ├── Bus.cpp │ │ │ ├── Car.cpp │ │ │ ├── Transport.cpp │ │ │ └── TransportService.cpp │ │ └── Solution │ │ │ ├── Bike.cpp │ │ │ ├── Bus.cpp │ │ │ ├── Car.cpp │ │ │ ├── Transport.cpp │ │ │ ├── TransportFactory.cpp │ │ │ └── TransportService.cpp │ ├── PrototypePattern │ │ ├── Problem │ │ │ ├── GameBoard.cpp │ │ │ ├── GameClientWithoutPrototype.cpp │ │ │ └── GamePiece.cpp │ │ └── Solution │ │ │ ├── GameBoard.cpp │ │ │ ├── GameClientWithPrototype.cpp │ │ │ ├── GamePiece.cpp │ │ │ └── Prototype.cpp │ └── SingletonPattern │ │ ├── Problem │ │ ├── AppSettings.cpp │ │ └── WithoutSingletonPattern.cpp │ │ └── Solution │ │ ├── AppSettings.cpp │ │ └── SingletonPattern.cpp ├── LLDProject │ └── RideSharingApp │ │ ├── V1 │ │ ├── Client.cpp │ │ ├── Driver.cpp │ │ ├── Location.cpp │ │ ├── Passenger.cpp │ │ ├── RideSharingAppService.cpp │ │ └── Vehicle.cpp │ │ └── V2 │ │ ├── Bike.cpp │ │ ├── Car.cpp │ │ ├── Client.cpp │ │ ├── Driver.cpp │ │ ├── FareStrategy.cpp │ │ ├── Location.cpp │ │ ├── Passenger.cpp │ │ ├── Ride.cpp │ │ ├── RideMatchingSystem.cpp │ │ ├── User.cpp │ │ └── Vehicle.cpp ├── SOLIDPrinciples │ ├── DIP │ │ ├── BadCode │ │ │ ├── EmailService.cpp │ │ │ ├── NotificationService.cpp │ │ │ └── SMSService.cpp │ │ └── GoodCode │ │ │ ├── EmailService.cpp │ │ │ ├── Main.cpp │ │ │ ├── NotificationChannel.cpp │ │ │ ├── NotificationService.cpp │ │ │ └── SMSService.cpp │ ├── ISP │ │ ├── BadCode │ │ │ ├── Document.cpp │ │ │ ├── Machine.cpp │ │ │ ├── MultiPurposeMachine.cpp │ │ │ └── SimplePrinter.cpp │ │ └── GoodCode │ │ │ ├── Copier.cpp │ │ │ ├── MultiPurposeMachine.cpp │ │ │ ├── Printer.cpp │ │ │ ├── Scanner.cpp │ │ │ └── SimplePrinter.cpp │ ├── LSP │ │ ├── BadCode │ │ │ ├── File.cpp │ │ │ ├── Main.cpp │ │ │ └── ReadOnlyFile.cpp │ │ └── GoodCode │ │ │ ├── Main.cpp │ │ │ ├── ReadOnlyFile.cpp │ │ │ ├── Readable.cpp │ │ │ ├── ReadableFile.cpp │ │ │ ├── Writable.cpp │ │ │ └── WritableFile.cpp │ ├── OCP │ │ ├── BadCode │ │ │ └── PaymentProcessor.cpp │ │ └── GoodCode │ │ │ ├── CreditCard.cpp │ │ │ ├── DebitCard.cpp │ │ │ ├── Main.cpp │ │ │ ├── PayPal.cpp │ │ │ ├── PaymentMethod.cpp │ │ │ ├── PaymentProcessor.cpp │ │ │ └── UPI.cpp │ └── SRP │ │ ├── BadCode │ │ ├── Invoice.cpp │ │ └── Invoice.java │ │ └── GoodCode │ │ ├── EmailService.cpp │ │ ├── EmailService.java │ │ ├── Invoice.cpp │ │ ├── Invoice.java │ │ ├── InvoiceRepository.cpp │ │ ├── InvoiceRepository.java │ │ └── Main.cpp └── StructuralPatterns │ ├── AdapterPattern │ ├── Client.cpp │ ├── Client.java │ ├── EmailNotificationService.cpp │ ├── EmailNotificationService.java │ ├── NotificationService.cpp │ ├── NotificationService.java │ ├── SendGridAdapter.cpp │ ├── SendGridAdapter.java │ ├── SendGridService.cpp │ └── SendGridService.java │ ├── CompositePattern │ ├── Problem │ │ ├── File.cpp │ │ ├── File.java │ │ ├── FileSystemApp.cpp │ │ ├── FileSystemApp.java │ │ ├── Folder.cpp │ │ └── Folder.java │ └── Solution │ │ ├── File.cpp │ │ ├── File.java │ │ ├── FileSystemApp.cpp │ │ ├── FileSystemApp.java │ │ ├── FileSystemComponent.cpp │ │ ├── FileSystemComponent.java │ │ ├── Folder.cpp │ │ └── Folder.java │ ├── DecoratorPattern │ ├── Problem │ │ ├── BasicPizza.cpp │ │ ├── BasicPizza.java │ │ ├── CheeseOlivePizza.cpp │ │ ├── CheeseOlivePizza.java │ │ ├── CheesePizza.cpp │ │ ├── CheesePizza.java │ │ ├── Pizza.cpp │ │ ├── Pizza.java │ │ ├── PizzaApp.cpp │ │ └── PizzaApp.java │ └── Solution │ │ ├── BasicPizza.cpp │ │ ├── BasicPizza.java │ │ ├── CheeseDecorator.cpp │ │ ├── CheeseDecorator.java │ │ ├── MushroomDecorator.cpp │ │ ├── MushroomDecorator.java │ │ ├── OliveDecorator.cpp │ │ ├── OliveDecorator.java │ │ ├── Pizza.cpp │ │ ├── Pizza.java │ │ ├── PizzaApp.cpp │ │ ├── PizzaApp.java │ │ ├── PizzaDecorator.cpp │ │ └── PizzaDecorator.java │ ├── FacadePattern │ ├── Problem │ │ ├── Client.cpp │ │ ├── OrderService.cpp │ │ ├── PaymentService.cpp │ │ └── UserService.cpp │ └── Solution │ │ ├── APIGateway.cpp │ │ ├── Client.cpp │ │ ├── OrderService.cpp │ │ ├── PaymentService.cpp │ │ └── UserService.cpp │ ├── FlyWeightPattern │ ├── Problem │ │ ├── Bullet.cpp │ │ └── Game.cpp │ └── Solution │ │ ├── Bullet.cpp │ │ ├── BulletType.cpp │ │ ├── BulletTypeFactory.cpp │ │ └── Game.cpp │ └── ProxyPattern │ ├── Problem │ ├── Client.cpp │ ├── Image.cpp │ └── RealImage.cpp │ └── Solution │ ├── Client.cpp │ ├── Image.cpp │ ├── ProxyImage.cpp │ └── RealImage.cpp ├── design-patterns ├── .gitignore ├── .idea │ ├── .gitignore │ ├── encodings.xml │ ├── misc.xml │ ├── uiDesigner.xml │ └── vcs.xml ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── prateek │ ├── Basics │ ├── OOPS │ │ ├── Card.java │ │ ├── Client.java │ │ ├── CreditCard.java │ │ ├── DebitCard.java │ │ ├── PaymentMethod.java │ │ ├── PaymentService.java │ │ ├── UPI.java │ │ └── Wallet.java │ └── UML │ │ ├── AggregationExample.java │ │ ├── AssociationExample.java │ │ ├── CompositionExample.java │ │ ├── DependencyExample.java │ │ ├── InheritanceExample.java │ │ └── RealizationExample.java │ ├── BehaviouralPatterns │ ├── ChainOfResponsibilityPattern │ │ ├── Client.java │ │ ├── Director.java │ │ ├── Handler.java │ │ ├── Manager.java │ │ ├── Request.java │ │ ├── Supervisor.java │ │ └── SupportAgent.java │ ├── CommandPattern │ │ ├── WithCommandPattern.java │ │ └── WithoutCommandPattern.java │ ├── IteratorPattern │ │ ├── Book.java │ │ ├── BookCollectionV1.java │ │ ├── BookCollectionV2.java │ │ ├── BookCollectionV3.java │ │ ├── ClientV1.java │ │ ├── ClientV2.java │ │ └── ClientV3.java │ ├── MediatorPattern │ │ ├── WithMediatorPattern.java │ │ └── WithoutMediatorPattern.java │ ├── MementoPattern │ │ ├── Caretaker.java │ │ ├── EditorMemento.java │ │ ├── TextEditor.java │ │ └── TextEditorMain.java │ ├── ObserverPattern │ │ ├── ObserverPatternExample.java │ │ └── WithoutObserverPattern.java │ ├── StatePattern │ │ ├── Problem │ │ │ ├── DirectionService.java │ │ │ └── WithoutStatePattern.java │ │ └── Solution │ │ │ ├── Car.java │ │ │ ├── Cycling.java │ │ │ ├── DirectionService.java │ │ │ ├── Train.java │ │ │ ├── TransportationMode.java │ │ │ ├── Walking.java │ │ │ └── WithStatePattern.java │ ├── StrategyPattern │ │ ├── StrategyPattern.java │ │ └── WithoutStrategyPattern.java │ ├── TemplateMethodPattern │ │ ├── WithTemplatePattern.java │ │ └── WithoutTemplateMethod.java │ └── VisitorPattern │ │ ├── Client.java │ │ ├── CompressVisitor.java │ │ ├── Document.java │ │ ├── DocumentVisitor.java │ │ ├── ExportVisitor.java │ │ ├── PDFDocument.java │ │ ├── PrintVisitor.java │ │ ├── TextDocument.java │ │ └── WordDocument.java │ ├── CreationalPatterns │ ├── AbstractFactoryPattern │ │ ├── Problem │ │ │ └── Application.java │ │ └── Solution │ │ │ └── Application.java │ ├── BuilderPattern │ │ ├── Problem │ │ │ ├── House.java │ │ │ └── WithoutBuilderPattern.java │ │ └── Solution │ │ │ ├── House.java │ │ │ └── WithBuilderPattern.java │ ├── FactoryPattern │ │ ├── Problem │ │ │ ├── Bike.java │ │ │ ├── Bus.java │ │ │ ├── Car.java │ │ │ ├── Transport.java │ │ │ └── TransportService.java │ │ └── Solution │ │ │ ├── Bike.java │ │ │ ├── Bus.java │ │ │ ├── Car.java │ │ │ ├── Transport.java │ │ │ ├── TransportFactory.java │ │ │ └── TransportService.java │ ├── PrototypePattern │ │ ├── Problem │ │ │ ├── GameBoard.java │ │ │ ├── GameClientWithoutPrototype.java │ │ │ └── GamePiece.java │ │ └── Solution │ │ │ ├── GameBoard.java │ │ │ ├── GameClientWithPrototype.java │ │ │ ├── GamePiece.java │ │ │ └── Prototype.java │ └── SingletonPattern │ │ ├── Problem │ │ ├── AppSettings.java │ │ └── WithoutSingletonPattern.java │ │ └── Solution │ │ ├── AppSettings.java │ │ └── SingletonPattern.java │ ├── LLDProject │ └── RideSharingApp │ │ ├── V1 │ │ ├── Client.java │ │ ├── Driver.java │ │ ├── Location.java │ │ ├── Passenger.java │ │ ├── RideSharingAppService.java │ │ └── Vehicle.java │ │ └── V2 │ │ ├── Bike.java │ │ ├── Car.java │ │ ├── Client.java │ │ ├── Driver.java │ │ ├── FareStrategy.java │ │ ├── Location.java │ │ ├── Passenger.java │ │ ├── Ride.java │ │ ├── RideMatchingSystem.java │ │ ├── User.java │ │ └── Vehicle.java │ ├── SOLIDPrinciples │ ├── DIP │ │ ├── BadCode │ │ │ ├── EmailService.java │ │ │ ├── NotificationService.java │ │ │ └── SMSService.java │ │ └── GoodCode │ │ │ ├── EmailService.java │ │ │ ├── Main.java │ │ │ ├── NotificationChannel.java │ │ │ ├── NotificationService.java │ │ │ └── SMSService.java │ ├── ISP │ │ ├── BadCode │ │ │ ├── Document.java │ │ │ ├── Machine.java │ │ │ ├── MultiPurposeMachine.java │ │ │ └── SimplePrinter.java │ │ └── GoodCode │ │ │ ├── Copier.java │ │ │ ├── MultiPurposeMachine.java │ │ │ ├── Printer.java │ │ │ ├── Scanner.java │ │ │ └── SimplerPrinter.java │ ├── LSP │ │ ├── BadCode │ │ │ ├── File.java │ │ │ ├── Main.java │ │ │ └── ReadOnlyFile.java │ │ └── GoodCode │ │ │ ├── Main.java │ │ │ ├── ReadOnlyFile.java │ │ │ ├── Readable.java │ │ │ ├── ReadableFile.java │ │ │ ├── Writable.java │ │ │ └── WritableFile.java │ ├── OCP │ │ ├── BadCode │ │ │ └── PaymentProcessor.java │ │ └── GoodCode │ │ │ ├── CreditCard.java │ │ │ ├── DebitCard.java │ │ │ ├── Main.java │ │ │ ├── PayPal.java │ │ │ ├── PaymentMethod.java │ │ │ ├── PaymentProcessor.java │ │ │ └── UPI.java │ └── SRP │ │ ├── BadCode │ │ └── Invoice.java │ │ └── GoodCode │ │ ├── EmailService.java │ │ ├── Invoice.java │ │ └── InvoiceRepository.java │ └── StructuralPatterns │ ├── AdapterPattern │ ├── Client.java │ ├── EmailNotificationService.java │ ├── NotificationService.java │ ├── SendGridAdapter.java │ └── SendGridService.java │ ├── BridgePattern │ ├── AC.java │ ├── AdvancedRemote.java │ ├── BasicRemote.java │ ├── Client.java │ ├── Device.java │ ├── Radio.java │ ├── Remote.java │ └── TV.java │ ├── CompositePattern │ ├── Problem │ │ ├── File.java │ │ ├── FileSystemApp.java │ │ └── Folder.java │ └── Solution │ │ ├── File.java │ │ ├── FileSystemApp.java │ │ ├── FileSystemComponent.java │ │ └── Folder.java │ ├── DecoratorPattern │ ├── Problem │ │ ├── BasicPizza.java │ │ ├── CheeseOlivePizza.java │ │ ├── CheesePizza.java │ │ ├── Pizza.java │ │ └── PizzaApp.java │ └── Solution │ │ ├── BasicPizza.java │ │ ├── CheeseDecorator.java │ │ ├── MushroomDecorator.java │ │ ├── OliveDecorator.java │ │ ├── Pizza.java │ │ ├── PizzaApp.java │ │ └── PizzaDecorator.java │ ├── FacadePattern │ ├── Problem │ │ ├── Client.java │ │ ├── OrderService.java │ │ ├── PaymentService.java │ │ └── UserService.java │ └── Solution │ │ ├── APIGateway.java │ │ ├── Client.java │ │ ├── OrderService.java │ │ ├── PaymentService.java │ │ └── UserService.java │ ├── FlyWeightPattern │ ├── Problem │ │ ├── Bullet.java │ │ └── Game.java │ └── Solution │ │ ├── Bullet.java │ │ ├── BulletType.java │ │ ├── BulletTypeFactory.java │ │ └── Game.java │ └── ProxyPattern │ ├── Problem │ ├── Client.java │ ├── Image.java │ └── RealImage.java │ └── Solution │ ├── Client.java │ ├── Image.java │ ├── ProxyImage.java │ └── RealImage.java └── solutions ├── Adapter ├── Exercise.java ├── LegacyWeatherService.java ├── NewWeatherService.java ├── NewWeatherServiceAdapter.java └── WeatherService.java ├── Builder ├── Exercise.java ├── Meal.java └── MealBuilder.java ├── Command ├── Command.java ├── Exercise.java ├── Fan.java ├── FanCommands.java ├── Light.java ├── LightCommands.java └── RemoteControl.java ├── Composite ├── Exercise.java ├── MenuComponent.java ├── MenuItem.java └── MenuSection.java ├── Decorator ├── BasicCoffee.java ├── Coffee.java ├── CoffeeDecorator.java ├── Exercise.java ├── Milk.java ├── Sugar.java └── WhippedCream.java ├── Facade ├── DVDPlayer.java ├── Exercise.java ├── HomeTheaterFacade.java ├── LightingControl.java ├── Projector.java └── SoundSystem.java ├── Factory ├── Document.java ├── DocumentFactory.java ├── Exercise.java ├── HTMLDocument.java ├── PDFDocument.java └── WordDocument.java ├── Flyweight ├── CharacterFactory.java ├── CharacterFlyweight.java ├── ConcreteCharacter.java ├── Document.java └── Exercise.java ├── Iterator ├── EmailNotification.java ├── Exercise.java ├── Notification.java ├── NotificationCollection.java ├── NotificationManager.java ├── PushNotification.java └── SMSNotification.java ├── Mediator ├── Airplane.java ├── ControlTower.java ├── Exercise.java └── Mediator.java ├── Memento ├── Caretaker.java ├── EditorMemento.java ├── Exercise.java └── GraphicEditor.java ├── Observer ├── Exercise.java ├── InvestorA.java ├── InvestorB.java ├── Observer.java ├── StockMarket.java └── Subject.java ├── Prototype ├── Archer.java ├── Character.java ├── Exercise.java ├── Mage.java └── Warrior.java ├── Proxy ├── Exercise.java ├── NetworkService.java ├── NetworkServiceProxy.java └── RealNetworkService.java ├── Singleton ├── Exercise.java └── Logger.java ├── State ├── Exercise.java ├── MediaPlayer.java ├── PausedState.java ├── PlayingState.java ├── State.java └── StoppedState.java ├── Strategy ├── Document.java ├── Exercise.java ├── HTMLFormatter.java ├── MarkdownFormatter.java ├── PlainTextFormatter.java └── TextFormatter.java └── Template ├── EmployeeReport.java ├── Exercise.java ├── InventoryReport.java ├── ReportTemplate.java └── SalesReport.java /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/README.md -------------------------------------------------------------------------------- /cpp/Basics/OOPS/Card.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/Basics/OOPS/Card.cpp -------------------------------------------------------------------------------- /cpp/Basics/OOPS/Client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/Basics/OOPS/Client.cpp -------------------------------------------------------------------------------- /cpp/Basics/OOPS/CreditCard.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/Basics/OOPS/CreditCard.cpp -------------------------------------------------------------------------------- /cpp/Basics/OOPS/DebitCard.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/Basics/OOPS/DebitCard.cpp -------------------------------------------------------------------------------- /cpp/Basics/OOPS/PaymentMethod.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/Basics/OOPS/PaymentMethod.cpp -------------------------------------------------------------------------------- /cpp/Basics/OOPS/PaymentService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/Basics/OOPS/PaymentService.cpp -------------------------------------------------------------------------------- /cpp/Basics/OOPS/UPI.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/Basics/OOPS/UPI.cpp -------------------------------------------------------------------------------- /cpp/Basics/OOPS/Wallet.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/Basics/OOPS/Wallet.cpp -------------------------------------------------------------------------------- /cpp/Basics/UML/AggregationExample.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/Basics/UML/AggregationExample.cpp -------------------------------------------------------------------------------- /cpp/Basics/UML/AssociationExample.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/Basics/UML/AssociationExample.cpp -------------------------------------------------------------------------------- /cpp/Basics/UML/CompositionExample.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/Basics/UML/CompositionExample.cpp -------------------------------------------------------------------------------- /cpp/Basics/UML/DependencyExample.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/Basics/UML/DependencyExample.cpp -------------------------------------------------------------------------------- /cpp/Basics/UML/InheritanceExample.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/Basics/UML/InheritanceExample.cpp -------------------------------------------------------------------------------- /cpp/Basics/UML/RealizationExample.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/Basics/UML/RealizationExample.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/CommandPattern/WithCommandPattern.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/CommandPattern/WithCommandPattern.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/CommandPattern/WithoutCommandPattern.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/CommandPattern/WithoutCommandPattern.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/IteratorPattern/Book.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/IteratorPattern/Book.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/IteratorPattern/BookCollectionV1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/IteratorPattern/BookCollectionV1.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/IteratorPattern/BookCollectionV2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/IteratorPattern/BookCollectionV2.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/IteratorPattern/BookCollectionV3.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/IteratorPattern/BookCollectionV3.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/IteratorPattern/ClientV1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/IteratorPattern/ClientV1.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/IteratorPattern/ClientV2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/IteratorPattern/ClientV2.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/IteratorPattern/ClientV3.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/IteratorPattern/ClientV3.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/MediatorPattern/WithMediatorPattern.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/MediatorPattern/WithMediatorPattern.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/MediatorPattern/WithoutMediatorPattern.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/MediatorPattern/WithoutMediatorPattern.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/MementoPattern/Caretaker.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/MementoPattern/Caretaker.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/MementoPattern/EditorMemento.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/MementoPattern/EditorMemento.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/MementoPattern/TextEditor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/MementoPattern/TextEditor.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/MementoPattern/TextEditorMain.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/MementoPattern/TextEditorMain.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/ObserverPattern/ObserverPatternExample.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/ObserverPattern/ObserverPatternExample.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/ObserverPattern/WithoutObserverPattern.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/ObserverPattern/WithoutObserverPattern.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/StatePattern/Problem/DirectionService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/StatePattern/Problem/DirectionService.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/StatePattern/Problem/WithoutStatePattern.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/StatePattern/Problem/WithoutStatePattern.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/StatePattern/Solution/Car.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/StatePattern/Solution/Car.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/StatePattern/Solution/Cycling.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/StatePattern/Solution/Cycling.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/StatePattern/Solution/DirectionService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/StatePattern/Solution/DirectionService.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/StatePattern/Solution/Train.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/StatePattern/Solution/Train.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/StatePattern/Solution/TransportationMode.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/StatePattern/Solution/TransportationMode.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/StatePattern/Solution/Walking.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/StatePattern/Solution/Walking.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/StatePattern/Solution/WithStatePattern.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/StatePattern/Solution/WithStatePattern.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/StrategyPattern/StrategyPattern.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/StrategyPattern/StrategyPattern.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/StrategyPattern/WithoutStrategyPattern.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/StrategyPattern/WithoutStrategyPattern.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/TemplateMethodPattern/WithTemplatePattern.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/TemplateMethodPattern/WithTemplatePattern.cpp -------------------------------------------------------------------------------- /cpp/BehaviouralPatterns/TemplateMethodPattern/WithoutTemplateMethod.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/BehaviouralPatterns/TemplateMethodPattern/WithoutTemplateMethod.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/AbstractFactoryPattern/Problem/Application.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/AbstractFactoryPattern/Problem/Application.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/AbstractFactoryPattern/Solution/Application.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/AbstractFactoryPattern/Solution/Application.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/BuilderPattern/Problem/House.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/BuilderPattern/Problem/House.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/BuilderPattern/Problem/WithoutBuilderPattern.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/BuilderPattern/Problem/WithoutBuilderPattern.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/BuilderPattern/Solution/House.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/BuilderPattern/Solution/House.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/BuilderPattern/Solution/WithBuilderPattern.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/BuilderPattern/Solution/WithBuilderPattern.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/FactoryPattern/Problem/Bike.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/FactoryPattern/Problem/Bike.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/FactoryPattern/Problem/Bus.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/FactoryPattern/Problem/Bus.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/FactoryPattern/Problem/Car.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/FactoryPattern/Problem/Car.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/FactoryPattern/Problem/Transport.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/FactoryPattern/Problem/Transport.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/FactoryPattern/Problem/TransportService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/FactoryPattern/Problem/TransportService.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/FactoryPattern/Solution/Bike.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/FactoryPattern/Solution/Bike.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/FactoryPattern/Solution/Bus.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/FactoryPattern/Solution/Bus.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/FactoryPattern/Solution/Car.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/FactoryPattern/Solution/Car.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/FactoryPattern/Solution/Transport.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/FactoryPattern/Solution/Transport.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/FactoryPattern/Solution/TransportFactory.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/FactoryPattern/Solution/TransportFactory.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/FactoryPattern/Solution/TransportService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/FactoryPattern/Solution/TransportService.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/PrototypePattern/Problem/GameBoard.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/PrototypePattern/Problem/GameBoard.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/PrototypePattern/Problem/GameClientWithoutPrototype.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/PrototypePattern/Problem/GameClientWithoutPrototype.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/PrototypePattern/Problem/GamePiece.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/PrototypePattern/Problem/GamePiece.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/PrototypePattern/Solution/GameBoard.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/PrototypePattern/Solution/GameBoard.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/PrototypePattern/Solution/GameClientWithPrototype.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/PrototypePattern/Solution/GameClientWithPrototype.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/PrototypePattern/Solution/GamePiece.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/PrototypePattern/Solution/GamePiece.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/PrototypePattern/Solution/Prototype.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/PrototypePattern/Solution/Prototype.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/SingletonPattern/Problem/AppSettings.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/SingletonPattern/Problem/AppSettings.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/SingletonPattern/Problem/WithoutSingletonPattern.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/SingletonPattern/Problem/WithoutSingletonPattern.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/SingletonPattern/Solution/AppSettings.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/SingletonPattern/Solution/AppSettings.cpp -------------------------------------------------------------------------------- /cpp/CreationalPatterns/SingletonPattern/Solution/SingletonPattern.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/CreationalPatterns/SingletonPattern/Solution/SingletonPattern.cpp -------------------------------------------------------------------------------- /cpp/LLDProject/RideSharingApp/V1/Client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/LLDProject/RideSharingApp/V1/Client.cpp -------------------------------------------------------------------------------- /cpp/LLDProject/RideSharingApp/V1/Driver.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/LLDProject/RideSharingApp/V1/Driver.cpp -------------------------------------------------------------------------------- /cpp/LLDProject/RideSharingApp/V1/Location.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/LLDProject/RideSharingApp/V1/Location.cpp -------------------------------------------------------------------------------- /cpp/LLDProject/RideSharingApp/V1/Passenger.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/LLDProject/RideSharingApp/V1/Passenger.cpp -------------------------------------------------------------------------------- /cpp/LLDProject/RideSharingApp/V1/RideSharingAppService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/LLDProject/RideSharingApp/V1/RideSharingAppService.cpp -------------------------------------------------------------------------------- /cpp/LLDProject/RideSharingApp/V1/Vehicle.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/LLDProject/RideSharingApp/V1/Vehicle.cpp -------------------------------------------------------------------------------- /cpp/LLDProject/RideSharingApp/V2/Bike.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/LLDProject/RideSharingApp/V2/Bike.cpp -------------------------------------------------------------------------------- /cpp/LLDProject/RideSharingApp/V2/Car.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/LLDProject/RideSharingApp/V2/Car.cpp -------------------------------------------------------------------------------- /cpp/LLDProject/RideSharingApp/V2/Client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/LLDProject/RideSharingApp/V2/Client.cpp -------------------------------------------------------------------------------- /cpp/LLDProject/RideSharingApp/V2/Driver.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/LLDProject/RideSharingApp/V2/Driver.cpp -------------------------------------------------------------------------------- /cpp/LLDProject/RideSharingApp/V2/FareStrategy.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/LLDProject/RideSharingApp/V2/FareStrategy.cpp -------------------------------------------------------------------------------- /cpp/LLDProject/RideSharingApp/V2/Location.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/LLDProject/RideSharingApp/V2/Location.cpp -------------------------------------------------------------------------------- /cpp/LLDProject/RideSharingApp/V2/Passenger.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/LLDProject/RideSharingApp/V2/Passenger.cpp -------------------------------------------------------------------------------- /cpp/LLDProject/RideSharingApp/V2/Ride.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/LLDProject/RideSharingApp/V2/Ride.cpp -------------------------------------------------------------------------------- /cpp/LLDProject/RideSharingApp/V2/RideMatchingSystem.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/LLDProject/RideSharingApp/V2/RideMatchingSystem.cpp -------------------------------------------------------------------------------- /cpp/LLDProject/RideSharingApp/V2/User.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/LLDProject/RideSharingApp/V2/User.cpp -------------------------------------------------------------------------------- /cpp/LLDProject/RideSharingApp/V2/Vehicle.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/LLDProject/RideSharingApp/V2/Vehicle.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/DIP/BadCode/EmailService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/DIP/BadCode/EmailService.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/DIP/BadCode/NotificationService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/DIP/BadCode/NotificationService.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/DIP/BadCode/SMSService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/DIP/BadCode/SMSService.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/DIP/GoodCode/EmailService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/DIP/GoodCode/EmailService.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/DIP/GoodCode/Main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/DIP/GoodCode/Main.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/DIP/GoodCode/NotificationChannel.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/DIP/GoodCode/NotificationChannel.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/DIP/GoodCode/NotificationService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/DIP/GoodCode/NotificationService.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/DIP/GoodCode/SMSService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/DIP/GoodCode/SMSService.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/ISP/BadCode/Document.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/ISP/BadCode/Document.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/ISP/BadCode/Machine.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/ISP/BadCode/Machine.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/ISP/BadCode/MultiPurposeMachine.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/ISP/BadCode/MultiPurposeMachine.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/ISP/BadCode/SimplePrinter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/ISP/BadCode/SimplePrinter.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/ISP/GoodCode/Copier.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/ISP/GoodCode/Copier.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/ISP/GoodCode/MultiPurposeMachine.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/ISP/GoodCode/MultiPurposeMachine.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/ISP/GoodCode/Printer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/ISP/GoodCode/Printer.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/ISP/GoodCode/Scanner.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/ISP/GoodCode/Scanner.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/ISP/GoodCode/SimplePrinter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/ISP/GoodCode/SimplePrinter.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/LSP/BadCode/File.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/LSP/BadCode/File.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/LSP/BadCode/Main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/LSP/BadCode/Main.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/LSP/BadCode/ReadOnlyFile.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/LSP/BadCode/ReadOnlyFile.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/LSP/GoodCode/Main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/LSP/GoodCode/Main.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/LSP/GoodCode/ReadOnlyFile.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/LSP/GoodCode/ReadOnlyFile.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/LSP/GoodCode/Readable.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/LSP/GoodCode/Readable.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/LSP/GoodCode/ReadableFile.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/LSP/GoodCode/ReadableFile.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/LSP/GoodCode/Writable.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/LSP/GoodCode/Writable.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/LSP/GoodCode/WritableFile.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/LSP/GoodCode/WritableFile.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/OCP/BadCode/PaymentProcessor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/OCP/BadCode/PaymentProcessor.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/OCP/GoodCode/CreditCard.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/OCP/GoodCode/CreditCard.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/OCP/GoodCode/DebitCard.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/OCP/GoodCode/DebitCard.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/OCP/GoodCode/Main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/OCP/GoodCode/Main.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/OCP/GoodCode/PayPal.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/OCP/GoodCode/PayPal.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/OCP/GoodCode/PaymentMethod.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/OCP/GoodCode/PaymentMethod.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/OCP/GoodCode/PaymentProcessor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/OCP/GoodCode/PaymentProcessor.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/OCP/GoodCode/UPI.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/OCP/GoodCode/UPI.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/SRP/BadCode/Invoice.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/SRP/BadCode/Invoice.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/SRP/BadCode/Invoice.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/SRP/BadCode/Invoice.java -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/SRP/GoodCode/EmailService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/SRP/GoodCode/EmailService.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/SRP/GoodCode/EmailService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/SRP/GoodCode/EmailService.java -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/SRP/GoodCode/Invoice.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/SRP/GoodCode/Invoice.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/SRP/GoodCode/Invoice.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/SRP/GoodCode/Invoice.java -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/SRP/GoodCode/InvoiceRepository.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/SRP/GoodCode/InvoiceRepository.cpp -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/SRP/GoodCode/InvoiceRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/SRP/GoodCode/InvoiceRepository.java -------------------------------------------------------------------------------- /cpp/SOLIDPrinciples/SRP/GoodCode/Main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/SOLIDPrinciples/SRP/GoodCode/Main.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/AdapterPattern/Client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/AdapterPattern/Client.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/AdapterPattern/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/AdapterPattern/Client.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/AdapterPattern/EmailNotificationService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/AdapterPattern/EmailNotificationService.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/AdapterPattern/EmailNotificationService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/AdapterPattern/EmailNotificationService.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/AdapterPattern/NotificationService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/AdapterPattern/NotificationService.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/AdapterPattern/NotificationService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/AdapterPattern/NotificationService.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/AdapterPattern/SendGridAdapter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/AdapterPattern/SendGridAdapter.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/AdapterPattern/SendGridAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/AdapterPattern/SendGridAdapter.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/AdapterPattern/SendGridService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/AdapterPattern/SendGridService.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/AdapterPattern/SendGridService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/AdapterPattern/SendGridService.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/CompositePattern/Problem/File.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/CompositePattern/Problem/File.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/CompositePattern/Problem/File.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/CompositePattern/Problem/File.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/CompositePattern/Problem/FileSystemApp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/CompositePattern/Problem/FileSystemApp.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/CompositePattern/Problem/FileSystemApp.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/CompositePattern/Problem/FileSystemApp.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/CompositePattern/Problem/Folder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/CompositePattern/Problem/Folder.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/CompositePattern/Problem/Folder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/CompositePattern/Problem/Folder.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/CompositePattern/Solution/File.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/CompositePattern/Solution/File.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/CompositePattern/Solution/File.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/CompositePattern/Solution/File.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/CompositePattern/Solution/FileSystemApp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/CompositePattern/Solution/FileSystemApp.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/CompositePattern/Solution/FileSystemApp.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/CompositePattern/Solution/FileSystemApp.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/CompositePattern/Solution/FileSystemComponent.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/CompositePattern/Solution/FileSystemComponent.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/CompositePattern/Solution/FileSystemComponent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/CompositePattern/Solution/FileSystemComponent.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/CompositePattern/Solution/Folder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/CompositePattern/Solution/Folder.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/CompositePattern/Solution/Folder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/CompositePattern/Solution/Folder.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Problem/BasicPizza.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Problem/BasicPizza.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Problem/BasicPizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Problem/BasicPizza.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Problem/CheeseOlivePizza.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Problem/CheeseOlivePizza.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Problem/CheeseOlivePizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Problem/CheeseOlivePizza.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Problem/CheesePizza.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Problem/CheesePizza.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Problem/CheesePizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Problem/CheesePizza.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Problem/Pizza.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Problem/Pizza.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Problem/Pizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Problem/Pizza.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Problem/PizzaApp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Problem/PizzaApp.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Problem/PizzaApp.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Problem/PizzaApp.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Solution/BasicPizza.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Solution/BasicPizza.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Solution/BasicPizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Solution/BasicPizza.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Solution/CheeseDecorator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Solution/CheeseDecorator.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Solution/CheeseDecorator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Solution/CheeseDecorator.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Solution/MushroomDecorator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Solution/MushroomDecorator.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Solution/MushroomDecorator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Solution/MushroomDecorator.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Solution/OliveDecorator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Solution/OliveDecorator.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Solution/OliveDecorator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Solution/OliveDecorator.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Solution/Pizza.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Solution/Pizza.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Solution/Pizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Solution/Pizza.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Solution/PizzaApp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Solution/PizzaApp.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Solution/PizzaApp.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Solution/PizzaApp.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Solution/PizzaDecorator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Solution/PizzaDecorator.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/DecoratorPattern/Solution/PizzaDecorator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/DecoratorPattern/Solution/PizzaDecorator.java -------------------------------------------------------------------------------- /cpp/StructuralPatterns/FacadePattern/Problem/Client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/FacadePattern/Problem/Client.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/FacadePattern/Problem/OrderService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/FacadePattern/Problem/OrderService.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/FacadePattern/Problem/PaymentService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/FacadePattern/Problem/PaymentService.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/FacadePattern/Problem/UserService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/FacadePattern/Problem/UserService.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/FacadePattern/Solution/APIGateway.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/FacadePattern/Solution/APIGateway.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/FacadePattern/Solution/Client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/FacadePattern/Solution/Client.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/FacadePattern/Solution/OrderService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/FacadePattern/Solution/OrderService.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/FacadePattern/Solution/PaymentService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/FacadePattern/Solution/PaymentService.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/FacadePattern/Solution/UserService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/FacadePattern/Solution/UserService.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/FlyWeightPattern/Problem/Bullet.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/FlyWeightPattern/Problem/Bullet.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/FlyWeightPattern/Problem/Game.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/FlyWeightPattern/Problem/Game.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/FlyWeightPattern/Solution/Bullet.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/FlyWeightPattern/Solution/Bullet.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/FlyWeightPattern/Solution/BulletType.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/FlyWeightPattern/Solution/BulletType.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/FlyWeightPattern/Solution/BulletTypeFactory.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/FlyWeightPattern/Solution/BulletTypeFactory.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/FlyWeightPattern/Solution/Game.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/FlyWeightPattern/Solution/Game.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/ProxyPattern/Problem/Client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/ProxyPattern/Problem/Client.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/ProxyPattern/Problem/Image.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/ProxyPattern/Problem/Image.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/ProxyPattern/Problem/RealImage.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/ProxyPattern/Problem/RealImage.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/ProxyPattern/Solution/Client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/ProxyPattern/Solution/Client.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/ProxyPattern/Solution/Image.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/ProxyPattern/Solution/Image.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/ProxyPattern/Solution/ProxyImage.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/ProxyPattern/Solution/ProxyImage.cpp -------------------------------------------------------------------------------- /cpp/StructuralPatterns/ProxyPattern/Solution/RealImage.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/cpp/StructuralPatterns/ProxyPattern/Solution/RealImage.cpp -------------------------------------------------------------------------------- /design-patterns/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/.gitignore -------------------------------------------------------------------------------- /design-patterns/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /design-patterns/.idea/encodings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/.idea/encodings.xml -------------------------------------------------------------------------------- /design-patterns/.idea/misc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/.idea/misc.xml -------------------------------------------------------------------------------- /design-patterns/.idea/uiDesigner.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/.idea/uiDesigner.xml -------------------------------------------------------------------------------- /design-patterns/.idea/vcs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/.idea/vcs.xml -------------------------------------------------------------------------------- /design-patterns/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/pom.xml -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/Basics/OOPS/Card.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/Basics/OOPS/Card.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/Basics/OOPS/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/Basics/OOPS/Client.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/Basics/OOPS/CreditCard.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/Basics/OOPS/CreditCard.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/Basics/OOPS/DebitCard.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/Basics/OOPS/DebitCard.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/Basics/OOPS/PaymentMethod.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/Basics/OOPS/PaymentMethod.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/Basics/OOPS/PaymentService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/Basics/OOPS/PaymentService.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/Basics/OOPS/UPI.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/Basics/OOPS/UPI.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/Basics/OOPS/Wallet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/Basics/OOPS/Wallet.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/Basics/UML/AggregationExample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/Basics/UML/AggregationExample.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/Basics/UML/AssociationExample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/Basics/UML/AssociationExample.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/Basics/UML/CompositionExample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/Basics/UML/CompositionExample.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/Basics/UML/DependencyExample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/Basics/UML/DependencyExample.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/Basics/UML/InheritanceExample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/Basics/UML/InheritanceExample.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/Basics/UML/RealizationExample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/Basics/UML/RealizationExample.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/ChainOfResponsibilityPattern/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/ChainOfResponsibilityPattern/Client.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/ChainOfResponsibilityPattern/Director.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/ChainOfResponsibilityPattern/Director.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/ChainOfResponsibilityPattern/Handler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/ChainOfResponsibilityPattern/Handler.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/ChainOfResponsibilityPattern/Manager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/ChainOfResponsibilityPattern/Manager.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/ChainOfResponsibilityPattern/Request.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/ChainOfResponsibilityPattern/Request.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/ChainOfResponsibilityPattern/Supervisor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/ChainOfResponsibilityPattern/Supervisor.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/ChainOfResponsibilityPattern/SupportAgent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/ChainOfResponsibilityPattern/SupportAgent.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/CommandPattern/WithCommandPattern.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/CommandPattern/WithCommandPattern.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/CommandPattern/WithoutCommandPattern.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/CommandPattern/WithoutCommandPattern.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/IteratorPattern/Book.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/IteratorPattern/Book.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/IteratorPattern/BookCollectionV1.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/IteratorPattern/BookCollectionV1.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/IteratorPattern/BookCollectionV2.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/IteratorPattern/BookCollectionV2.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/IteratorPattern/BookCollectionV3.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/IteratorPattern/BookCollectionV3.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/IteratorPattern/ClientV1.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/IteratorPattern/ClientV1.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/IteratorPattern/ClientV2.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/IteratorPattern/ClientV2.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/IteratorPattern/ClientV3.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/IteratorPattern/ClientV3.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/MediatorPattern/WithMediatorPattern.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/MediatorPattern/WithMediatorPattern.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/MediatorPattern/WithoutMediatorPattern.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/MediatorPattern/WithoutMediatorPattern.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/MementoPattern/Caretaker.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/MementoPattern/Caretaker.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/MementoPattern/EditorMemento.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/MementoPattern/EditorMemento.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/MementoPattern/TextEditor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/MementoPattern/TextEditor.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/MementoPattern/TextEditorMain.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/MementoPattern/TextEditorMain.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/ObserverPattern/ObserverPatternExample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/ObserverPattern/ObserverPatternExample.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/ObserverPattern/WithoutObserverPattern.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/ObserverPattern/WithoutObserverPattern.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/StatePattern/Problem/DirectionService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/StatePattern/Problem/DirectionService.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/StatePattern/Problem/WithoutStatePattern.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/StatePattern/Problem/WithoutStatePattern.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/StatePattern/Solution/Car.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/StatePattern/Solution/Car.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/StatePattern/Solution/Cycling.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/StatePattern/Solution/Cycling.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/StatePattern/Solution/DirectionService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/StatePattern/Solution/DirectionService.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/StatePattern/Solution/Train.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/StatePattern/Solution/Train.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/StatePattern/Solution/TransportationMode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/StatePattern/Solution/TransportationMode.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/StatePattern/Solution/Walking.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/StatePattern/Solution/Walking.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/StatePattern/Solution/WithStatePattern.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/StatePattern/Solution/WithStatePattern.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/StrategyPattern/StrategyPattern.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/StrategyPattern/StrategyPattern.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/StrategyPattern/WithoutStrategyPattern.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/StrategyPattern/WithoutStrategyPattern.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/TemplateMethodPattern/WithTemplatePattern.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/TemplateMethodPattern/WithTemplatePattern.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/TemplateMethodPattern/WithoutTemplateMethod.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/TemplateMethodPattern/WithoutTemplateMethod.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/VisitorPattern/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/VisitorPattern/Client.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/VisitorPattern/CompressVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/VisitorPattern/CompressVisitor.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/VisitorPattern/Document.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/VisitorPattern/Document.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/VisitorPattern/DocumentVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/VisitorPattern/DocumentVisitor.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/VisitorPattern/ExportVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/VisitorPattern/ExportVisitor.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/VisitorPattern/PDFDocument.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/VisitorPattern/PDFDocument.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/VisitorPattern/PrintVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/VisitorPattern/PrintVisitor.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/VisitorPattern/TextDocument.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/VisitorPattern/TextDocument.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/BehaviouralPatterns/VisitorPattern/WordDocument.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/BehaviouralPatterns/VisitorPattern/WordDocument.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/AbstractFactoryPattern/Problem/Application.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/AbstractFactoryPattern/Problem/Application.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/AbstractFactoryPattern/Solution/Application.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/AbstractFactoryPattern/Solution/Application.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/BuilderPattern/Problem/House.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/BuilderPattern/Problem/House.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/BuilderPattern/Problem/WithoutBuilderPattern.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/BuilderPattern/Problem/WithoutBuilderPattern.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/BuilderPattern/Solution/House.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/BuilderPattern/Solution/House.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/BuilderPattern/Solution/WithBuilderPattern.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/BuilderPattern/Solution/WithBuilderPattern.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/FactoryPattern/Problem/Bike.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/FactoryPattern/Problem/Bike.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/FactoryPattern/Problem/Bus.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/FactoryPattern/Problem/Bus.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/FactoryPattern/Problem/Car.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/FactoryPattern/Problem/Car.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/FactoryPattern/Problem/Transport.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/FactoryPattern/Problem/Transport.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/FactoryPattern/Problem/TransportService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/FactoryPattern/Problem/TransportService.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/FactoryPattern/Solution/Bike.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/FactoryPattern/Solution/Bike.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/FactoryPattern/Solution/Bus.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/FactoryPattern/Solution/Bus.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/FactoryPattern/Solution/Car.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/FactoryPattern/Solution/Car.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/FactoryPattern/Solution/Transport.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/FactoryPattern/Solution/Transport.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/FactoryPattern/Solution/TransportFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/FactoryPattern/Solution/TransportFactory.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/FactoryPattern/Solution/TransportService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/FactoryPattern/Solution/TransportService.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/PrototypePattern/Problem/GameBoard.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/PrototypePattern/Problem/GameBoard.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/PrototypePattern/Problem/GameClientWithoutPrototype.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/PrototypePattern/Problem/GameClientWithoutPrototype.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/PrototypePattern/Problem/GamePiece.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/PrototypePattern/Problem/GamePiece.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/PrototypePattern/Solution/GameBoard.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/PrototypePattern/Solution/GameBoard.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/PrototypePattern/Solution/GameClientWithPrototype.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/PrototypePattern/Solution/GameClientWithPrototype.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/PrototypePattern/Solution/GamePiece.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/PrototypePattern/Solution/GamePiece.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/PrototypePattern/Solution/Prototype.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/PrototypePattern/Solution/Prototype.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/SingletonPattern/Problem/AppSettings.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/SingletonPattern/Problem/AppSettings.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/SingletonPattern/Problem/WithoutSingletonPattern.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/SingletonPattern/Problem/WithoutSingletonPattern.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/SingletonPattern/Solution/AppSettings.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/SingletonPattern/Solution/AppSettings.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/CreationalPatterns/SingletonPattern/Solution/SingletonPattern.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/CreationalPatterns/SingletonPattern/Solution/SingletonPattern.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V1/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V1/Client.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V1/Driver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V1/Driver.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V1/Location.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V1/Location.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V1/Passenger.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V1/Passenger.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V1/RideSharingAppService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V1/RideSharingAppService.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V1/Vehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V1/Vehicle.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V2/Bike.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V2/Bike.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V2/Car.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V2/Car.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V2/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V2/Client.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V2/Driver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V2/Driver.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V2/FareStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V2/FareStrategy.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V2/Location.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V2/Location.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V2/Passenger.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V2/Passenger.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V2/Ride.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V2/Ride.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V2/RideMatchingSystem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V2/RideMatchingSystem.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V2/User.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V2/User.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V2/Vehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/LLDProject/RideSharingApp/V2/Vehicle.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/DIP/BadCode/EmailService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/DIP/BadCode/EmailService.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/DIP/BadCode/NotificationService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/DIP/BadCode/NotificationService.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/DIP/BadCode/SMSService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/DIP/BadCode/SMSService.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/DIP/GoodCode/EmailService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/DIP/GoodCode/EmailService.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/DIP/GoodCode/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/DIP/GoodCode/Main.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/DIP/GoodCode/NotificationChannel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/DIP/GoodCode/NotificationChannel.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/DIP/GoodCode/NotificationService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/DIP/GoodCode/NotificationService.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/DIP/GoodCode/SMSService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/DIP/GoodCode/SMSService.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/ISP/BadCode/Document.java: -------------------------------------------------------------------------------- 1 | package org.prateek.SOLIDPrinciples.ISP.BadCode; 2 | 3 | public class Document { 4 | } 5 | -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/ISP/BadCode/Machine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/ISP/BadCode/Machine.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/ISP/BadCode/MultiPurposeMachine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/ISP/BadCode/MultiPurposeMachine.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/ISP/BadCode/SimplePrinter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/ISP/BadCode/SimplePrinter.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/ISP/GoodCode/Copier.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/ISP/GoodCode/Copier.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/ISP/GoodCode/MultiPurposeMachine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/ISP/GoodCode/MultiPurposeMachine.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/ISP/GoodCode/Printer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/ISP/GoodCode/Printer.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/ISP/GoodCode/Scanner.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/ISP/GoodCode/Scanner.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/ISP/GoodCode/SimplerPrinter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/ISP/GoodCode/SimplerPrinter.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/LSP/BadCode/File.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/LSP/BadCode/File.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/LSP/BadCode/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/LSP/BadCode/Main.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/LSP/BadCode/ReadOnlyFile.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/LSP/BadCode/ReadOnlyFile.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/LSP/GoodCode/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/LSP/GoodCode/Main.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/LSP/GoodCode/ReadOnlyFile.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/LSP/GoodCode/ReadOnlyFile.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/LSP/GoodCode/Readable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/LSP/GoodCode/Readable.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/LSP/GoodCode/ReadableFile.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/LSP/GoodCode/ReadableFile.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/LSP/GoodCode/Writable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/LSP/GoodCode/Writable.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/LSP/GoodCode/WritableFile.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/LSP/GoodCode/WritableFile.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/OCP/BadCode/PaymentProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/OCP/BadCode/PaymentProcessor.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/OCP/GoodCode/CreditCard.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/OCP/GoodCode/CreditCard.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/OCP/GoodCode/DebitCard.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/OCP/GoodCode/DebitCard.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/OCP/GoodCode/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/OCP/GoodCode/Main.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/OCP/GoodCode/PayPal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/OCP/GoodCode/PayPal.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/OCP/GoodCode/PaymentMethod.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/OCP/GoodCode/PaymentMethod.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/OCP/GoodCode/PaymentProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/OCP/GoodCode/PaymentProcessor.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/OCP/GoodCode/UPI.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/OCP/GoodCode/UPI.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/SRP/BadCode/Invoice.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/SRP/BadCode/Invoice.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/SRP/GoodCode/EmailService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/SRP/GoodCode/EmailService.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/SRP/GoodCode/Invoice.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/SRP/GoodCode/Invoice.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/SOLIDPrinciples/SRP/GoodCode/InvoiceRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/SOLIDPrinciples/SRP/GoodCode/InvoiceRepository.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/AdapterPattern/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/AdapterPattern/Client.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/AdapterPattern/EmailNotificationService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/AdapterPattern/EmailNotificationService.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/AdapterPattern/NotificationService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/AdapterPattern/NotificationService.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/AdapterPattern/SendGridAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/AdapterPattern/SendGridAdapter.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/AdapterPattern/SendGridService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/AdapterPattern/SendGridService.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/BridgePattern/AC.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/BridgePattern/AC.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/BridgePattern/AdvancedRemote.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/BridgePattern/AdvancedRemote.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/BridgePattern/BasicRemote.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/BridgePattern/BasicRemote.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/BridgePattern/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/BridgePattern/Client.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/BridgePattern/Device.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/BridgePattern/Device.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/BridgePattern/Radio.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/BridgePattern/Radio.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/BridgePattern/Remote.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/BridgePattern/Remote.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/BridgePattern/TV.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/BridgePattern/TV.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/CompositePattern/Problem/File.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/CompositePattern/Problem/File.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/CompositePattern/Problem/FileSystemApp.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/CompositePattern/Problem/FileSystemApp.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/CompositePattern/Problem/Folder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/CompositePattern/Problem/Folder.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/CompositePattern/Solution/File.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/CompositePattern/Solution/File.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/CompositePattern/Solution/FileSystemApp.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/CompositePattern/Solution/FileSystemApp.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/CompositePattern/Solution/FileSystemComponent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/CompositePattern/Solution/FileSystemComponent.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/CompositePattern/Solution/Folder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/CompositePattern/Solution/Folder.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Problem/BasicPizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Problem/BasicPizza.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Problem/CheeseOlivePizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Problem/CheeseOlivePizza.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Problem/CheesePizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Problem/CheesePizza.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Problem/Pizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Problem/Pizza.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Problem/PizzaApp.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Problem/PizzaApp.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Solution/BasicPizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Solution/BasicPizza.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Solution/CheeseDecorator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Solution/CheeseDecorator.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Solution/MushroomDecorator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Solution/MushroomDecorator.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Solution/OliveDecorator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Solution/OliveDecorator.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Solution/Pizza.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Solution/Pizza.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Solution/PizzaApp.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Solution/PizzaApp.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Solution/PizzaDecorator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/DecoratorPattern/Solution/PizzaDecorator.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/FacadePattern/Problem/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/FacadePattern/Problem/Client.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/FacadePattern/Problem/OrderService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/FacadePattern/Problem/OrderService.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/FacadePattern/Problem/PaymentService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/FacadePattern/Problem/PaymentService.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/FacadePattern/Problem/UserService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/FacadePattern/Problem/UserService.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/FacadePattern/Solution/APIGateway.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/FacadePattern/Solution/APIGateway.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/FacadePattern/Solution/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/FacadePattern/Solution/Client.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/FacadePattern/Solution/OrderService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/FacadePattern/Solution/OrderService.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/FacadePattern/Solution/PaymentService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/FacadePattern/Solution/PaymentService.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/FacadePattern/Solution/UserService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/FacadePattern/Solution/UserService.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/FlyWeightPattern/Problem/Bullet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/FlyWeightPattern/Problem/Bullet.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/FlyWeightPattern/Problem/Game.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/FlyWeightPattern/Problem/Game.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/FlyWeightPattern/Solution/Bullet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/FlyWeightPattern/Solution/Bullet.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/FlyWeightPattern/Solution/BulletType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/FlyWeightPattern/Solution/BulletType.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/FlyWeightPattern/Solution/BulletTypeFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/FlyWeightPattern/Solution/BulletTypeFactory.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/FlyWeightPattern/Solution/Game.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/FlyWeightPattern/Solution/Game.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/ProxyPattern/Problem/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/ProxyPattern/Problem/Client.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/ProxyPattern/Problem/Image.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/ProxyPattern/Problem/Image.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/ProxyPattern/Problem/RealImage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/ProxyPattern/Problem/RealImage.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/ProxyPattern/Solution/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/ProxyPattern/Solution/Client.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/ProxyPattern/Solution/Image.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/ProxyPattern/Solution/Image.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/ProxyPattern/Solution/ProxyImage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/ProxyPattern/Solution/ProxyImage.java -------------------------------------------------------------------------------- /design-patterns/src/main/java/org/prateek/StructuralPatterns/ProxyPattern/Solution/RealImage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/design-patterns/src/main/java/org/prateek/StructuralPatterns/ProxyPattern/Solution/RealImage.java -------------------------------------------------------------------------------- /solutions/Adapter/Exercise.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Adapter/Exercise.java -------------------------------------------------------------------------------- /solutions/Adapter/LegacyWeatherService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Adapter/LegacyWeatherService.java -------------------------------------------------------------------------------- /solutions/Adapter/NewWeatherService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Adapter/NewWeatherService.java -------------------------------------------------------------------------------- /solutions/Adapter/NewWeatherServiceAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Adapter/NewWeatherServiceAdapter.java -------------------------------------------------------------------------------- /solutions/Adapter/WeatherService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Adapter/WeatherService.java -------------------------------------------------------------------------------- /solutions/Builder/Exercise.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Builder/Exercise.java -------------------------------------------------------------------------------- /solutions/Builder/Meal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Builder/Meal.java -------------------------------------------------------------------------------- /solutions/Builder/MealBuilder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Builder/MealBuilder.java -------------------------------------------------------------------------------- /solutions/Command/Command.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Command/Command.java -------------------------------------------------------------------------------- /solutions/Command/Exercise.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Command/Exercise.java -------------------------------------------------------------------------------- /solutions/Command/Fan.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Command/Fan.java -------------------------------------------------------------------------------- /solutions/Command/FanCommands.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Command/FanCommands.java -------------------------------------------------------------------------------- /solutions/Command/Light.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Command/Light.java -------------------------------------------------------------------------------- /solutions/Command/LightCommands.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Command/LightCommands.java -------------------------------------------------------------------------------- /solutions/Command/RemoteControl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Command/RemoteControl.java -------------------------------------------------------------------------------- /solutions/Composite/Exercise.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Composite/Exercise.java -------------------------------------------------------------------------------- /solutions/Composite/MenuComponent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Composite/MenuComponent.java -------------------------------------------------------------------------------- /solutions/Composite/MenuItem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Composite/MenuItem.java -------------------------------------------------------------------------------- /solutions/Composite/MenuSection.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Composite/MenuSection.java -------------------------------------------------------------------------------- /solutions/Decorator/BasicCoffee.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Decorator/BasicCoffee.java -------------------------------------------------------------------------------- /solutions/Decorator/Coffee.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Decorator/Coffee.java -------------------------------------------------------------------------------- /solutions/Decorator/CoffeeDecorator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Decorator/CoffeeDecorator.java -------------------------------------------------------------------------------- /solutions/Decorator/Exercise.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Decorator/Exercise.java -------------------------------------------------------------------------------- /solutions/Decorator/Milk.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Decorator/Milk.java -------------------------------------------------------------------------------- /solutions/Decorator/Sugar.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Decorator/Sugar.java -------------------------------------------------------------------------------- /solutions/Decorator/WhippedCream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Decorator/WhippedCream.java -------------------------------------------------------------------------------- /solutions/Facade/DVDPlayer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Facade/DVDPlayer.java -------------------------------------------------------------------------------- /solutions/Facade/Exercise.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Facade/Exercise.java -------------------------------------------------------------------------------- /solutions/Facade/HomeTheaterFacade.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Facade/HomeTheaterFacade.java -------------------------------------------------------------------------------- /solutions/Facade/LightingControl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Facade/LightingControl.java -------------------------------------------------------------------------------- /solutions/Facade/Projector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Facade/Projector.java -------------------------------------------------------------------------------- /solutions/Facade/SoundSystem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Facade/SoundSystem.java -------------------------------------------------------------------------------- /solutions/Factory/Document.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Factory/Document.java -------------------------------------------------------------------------------- /solutions/Factory/DocumentFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Factory/DocumentFactory.java -------------------------------------------------------------------------------- /solutions/Factory/Exercise.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Factory/Exercise.java -------------------------------------------------------------------------------- /solutions/Factory/HTMLDocument.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Factory/HTMLDocument.java -------------------------------------------------------------------------------- /solutions/Factory/PDFDocument.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Factory/PDFDocument.java -------------------------------------------------------------------------------- /solutions/Factory/WordDocument.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Factory/WordDocument.java -------------------------------------------------------------------------------- /solutions/Flyweight/CharacterFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Flyweight/CharacterFactory.java -------------------------------------------------------------------------------- /solutions/Flyweight/CharacterFlyweight.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Flyweight/CharacterFlyweight.java -------------------------------------------------------------------------------- /solutions/Flyweight/ConcreteCharacter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Flyweight/ConcreteCharacter.java -------------------------------------------------------------------------------- /solutions/Flyweight/Document.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Flyweight/Document.java -------------------------------------------------------------------------------- /solutions/Flyweight/Exercise.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Flyweight/Exercise.java -------------------------------------------------------------------------------- /solutions/Iterator/EmailNotification.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Iterator/EmailNotification.java -------------------------------------------------------------------------------- /solutions/Iterator/Exercise.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Iterator/Exercise.java -------------------------------------------------------------------------------- /solutions/Iterator/Notification.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Iterator/Notification.java -------------------------------------------------------------------------------- /solutions/Iterator/NotificationCollection.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Iterator/NotificationCollection.java -------------------------------------------------------------------------------- /solutions/Iterator/NotificationManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Iterator/NotificationManager.java -------------------------------------------------------------------------------- /solutions/Iterator/PushNotification.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Iterator/PushNotification.java -------------------------------------------------------------------------------- /solutions/Iterator/SMSNotification.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Iterator/SMSNotification.java -------------------------------------------------------------------------------- /solutions/Mediator/Airplane.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Mediator/Airplane.java -------------------------------------------------------------------------------- /solutions/Mediator/ControlTower.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Mediator/ControlTower.java -------------------------------------------------------------------------------- /solutions/Mediator/Exercise.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Mediator/Exercise.java -------------------------------------------------------------------------------- /solutions/Mediator/Mediator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Mediator/Mediator.java -------------------------------------------------------------------------------- /solutions/Memento/Caretaker.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Memento/Caretaker.java -------------------------------------------------------------------------------- /solutions/Memento/EditorMemento.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Memento/EditorMemento.java -------------------------------------------------------------------------------- /solutions/Memento/Exercise.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Memento/Exercise.java -------------------------------------------------------------------------------- /solutions/Memento/GraphicEditor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Memento/GraphicEditor.java -------------------------------------------------------------------------------- /solutions/Observer/Exercise.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Observer/Exercise.java -------------------------------------------------------------------------------- /solutions/Observer/InvestorA.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Observer/InvestorA.java -------------------------------------------------------------------------------- /solutions/Observer/InvestorB.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Observer/InvestorB.java -------------------------------------------------------------------------------- /solutions/Observer/Observer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Observer/Observer.java -------------------------------------------------------------------------------- /solutions/Observer/StockMarket.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Observer/StockMarket.java -------------------------------------------------------------------------------- /solutions/Observer/Subject.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Observer/Subject.java -------------------------------------------------------------------------------- /solutions/Prototype/Archer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Prototype/Archer.java -------------------------------------------------------------------------------- /solutions/Prototype/Character.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Prototype/Character.java -------------------------------------------------------------------------------- /solutions/Prototype/Exercise.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Prototype/Exercise.java -------------------------------------------------------------------------------- /solutions/Prototype/Mage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Prototype/Mage.java -------------------------------------------------------------------------------- /solutions/Prototype/Warrior.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Prototype/Warrior.java -------------------------------------------------------------------------------- /solutions/Proxy/Exercise.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Proxy/Exercise.java -------------------------------------------------------------------------------- /solutions/Proxy/NetworkService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Proxy/NetworkService.java -------------------------------------------------------------------------------- /solutions/Proxy/NetworkServiceProxy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Proxy/NetworkServiceProxy.java -------------------------------------------------------------------------------- /solutions/Proxy/RealNetworkService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Proxy/RealNetworkService.java -------------------------------------------------------------------------------- /solutions/Singleton/Exercise.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Singleton/Exercise.java -------------------------------------------------------------------------------- /solutions/Singleton/Logger.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Singleton/Logger.java -------------------------------------------------------------------------------- /solutions/State/Exercise.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/State/Exercise.java -------------------------------------------------------------------------------- /solutions/State/MediaPlayer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/State/MediaPlayer.java -------------------------------------------------------------------------------- /solutions/State/PausedState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/State/PausedState.java -------------------------------------------------------------------------------- /solutions/State/PlayingState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/State/PlayingState.java -------------------------------------------------------------------------------- /solutions/State/State.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/State/State.java -------------------------------------------------------------------------------- /solutions/State/StoppedState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/State/StoppedState.java -------------------------------------------------------------------------------- /solutions/Strategy/Document.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Strategy/Document.java -------------------------------------------------------------------------------- /solutions/Strategy/Exercise.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Strategy/Exercise.java -------------------------------------------------------------------------------- /solutions/Strategy/HTMLFormatter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Strategy/HTMLFormatter.java -------------------------------------------------------------------------------- /solutions/Strategy/MarkdownFormatter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Strategy/MarkdownFormatter.java -------------------------------------------------------------------------------- /solutions/Strategy/PlainTextFormatter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Strategy/PlainTextFormatter.java -------------------------------------------------------------------------------- /solutions/Strategy/TextFormatter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Strategy/TextFormatter.java -------------------------------------------------------------------------------- /solutions/Template/EmployeeReport.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Template/EmployeeReport.java -------------------------------------------------------------------------------- /solutions/Template/Exercise.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Template/Exercise.java -------------------------------------------------------------------------------- /solutions/Template/InventoryReport.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Template/InventoryReport.java -------------------------------------------------------------------------------- /solutions/Template/ReportTemplate.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Template/ReportTemplate.java -------------------------------------------------------------------------------- /solutions/Template/SalesReport.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prateek27/design-patterns-java/HEAD/solutions/Template/SalesReport.java --------------------------------------------------------------------------------