├── .all-contributorsrc ├── .editorconfig ├── .github ├── FUNDING.yml ├── dependabot.yml └── workflows │ ├── maven-ci.yml │ ├── maven-pr-builder.yml │ ├── presubmit.yml │ └── stale.yml ├── .gitignore ├── .mvn └── wrapper │ └── maven-wrapper.properties ├── CONTRIBUTING.MD ├── LICENSE.md ├── PULL_REQUEST_TEMPLATE.md ├── README.md ├── abstract-document ├── README.md ├── etc │ ├── abstract-document.png │ ├── abstract-document.ucls │ └── abstract-document.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── abstractdocument │ │ ├── AbstractDocument.java │ │ ├── App.java │ │ ├── Document.java │ │ └── domain │ │ ├── Car.java │ │ ├── HasModel.java │ │ ├── HasParts.java │ │ ├── HasPrice.java │ │ ├── HasType.java │ │ ├── Part.java │ │ └── enums │ │ └── Property.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── abstractdocument │ ├── AbstractDocumentTest.java │ ├── AppTest.java │ └── DomainTest.java ├── abstract-factory ├── .gitignore ├── README.md ├── etc │ ├── abstract-factory.urm.png │ └── abstract-factory.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── abstractfactory │ │ ├── App.java │ │ ├── Army.java │ │ ├── Castle.java │ │ ├── ElfArmy.java │ │ ├── ElfCastle.java │ │ ├── ElfKing.java │ │ ├── ElfKingdomFactory.java │ │ ├── King.java │ │ ├── Kingdom.java │ │ ├── KingdomFactory.java │ │ ├── OrcArmy.java │ │ ├── OrcCastle.java │ │ ├── OrcKing.java │ │ └── OrcKingdomFactory.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── abstractfactory │ ├── AbstractFactoryTest.java │ └── AppTest.java ├── active-object ├── README.md ├── etc │ ├── active-object-sequence-diagram.png │ ├── active-object.urm.png │ └── active-object.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── activeobject │ │ ├── ActiveCreature.java │ │ ├── App.java │ │ └── Orc.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── activeobject │ ├── ActiveCreatureTest.java │ └── AppTest.java ├── actor-model ├── README.md ├── etc │ ├── Actor_Model_UML_Class_Diagram.png │ └── actor-model.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── actormodel │ │ ├── Actor.java │ │ ├── ActorSystem.java │ │ ├── App.java │ │ ├── ExampleActor.java │ │ ├── ExampleActor2.java │ │ └── Message.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── actor │ └── ActorModelTest.java ├── acyclic-visitor ├── README.md ├── etc │ ├── acyclic-visitor-sequence-diagram.png │ ├── acyclic-visitor.png │ └── acyclic-visitor.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── acyclicvisitor │ │ ├── AllModemVisitor.java │ │ ├── App.java │ │ ├── ConfigureForDosVisitor.java │ │ ├── ConfigureForUnixVisitor.java │ │ ├── Hayes.java │ │ ├── HayesVisitor.java │ │ ├── Modem.java │ │ ├── ModemVisitor.java │ │ ├── Zoom.java │ │ └── ZoomVisitor.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── acyclicvisitor │ ├── AppTest.java │ ├── HayesTest.java │ └── ZoomTest.java ├── adapter ├── README.md ├── etc │ ├── adapter-sequence-diagram.png │ ├── adapter.urm.png │ └── adapter.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── adapter │ │ ├── App.java │ │ ├── Captain.java │ │ ├── FishingBoat.java │ │ ├── FishingBoatAdapter.java │ │ ├── RowingBoat.java │ │ └── package-info.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── adapter │ ├── AdapterPatternTest.java │ └── AppTest.java ├── ambassador ├── README.md ├── etc │ ├── ambassador-sequence-diagram.png │ ├── ambassador.urm.png │ └── ambassador.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── ambassador │ │ ├── App.java │ │ ├── Client.java │ │ ├── RemoteService.java │ │ ├── RemoteServiceInterface.java │ │ ├── RemoteServiceStatus.java │ │ ├── ServiceAmbassador.java │ │ └── util │ │ └── RandomProvider.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── ambassador │ ├── AppTest.java │ ├── ClientTest.java │ ├── RemoteServiceTest.java │ └── ServiceAmbassadorTest.java ├── anti-corruption-layer ├── README.md ├── etc │ ├── anti-corruption-layer-sequence-diagram.png │ ├── anti-corruption-layer.urm.png │ └── anti-corruption-layer.urm.puml ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── iluwatar │ │ │ └── corruption │ │ │ ├── App.java │ │ │ ├── package-info.java │ │ │ └── system │ │ │ ├── AntiCorruptionLayer.java │ │ │ ├── DataStore.java │ │ │ ├── ShopException.java │ │ │ ├── legacy │ │ │ ├── LegacyOrder.java │ │ │ ├── LegacyShop.java │ │ │ └── LegacyStore.java │ │ │ └── modern │ │ │ ├── Customer.java │ │ │ ├── ModernOrder.java │ │ │ ├── ModernShop.java │ │ │ ├── ModernStore.java │ │ │ └── Shipment.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── iluwatar │ └── corruption │ └── system │ └── AntiCorruptionLayerTest.java ├── arrange-act-assert ├── README.md ├── etc │ ├── arrange-act-assert-flowchart.png │ └── arrange-act-assert.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── arrangeactassert │ │ └── Cash.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── arrangeactassert │ ├── CashAAATest.java │ └── CashAntiAAATest.java ├── async-method-invocation ├── README.md ├── etc │ ├── async-method-invocation-sequence-diagram.png │ ├── async-method-invocation.urm.png │ └── async-method-invocation.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── async │ │ └── method │ │ └── invocation │ │ ├── App.java │ │ ├── AsyncCallback.java │ │ ├── AsyncExecutor.java │ │ ├── AsyncResult.java │ │ └── ThreadAsyncExecutor.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── async │ └── method │ └── invocation │ ├── AppTest.java │ └── ThreadAsyncExecutorTest.java ├── backpressure ├── README.md ├── etc │ ├── backpressure-sequence-diagram.png │ └── backpressure.png ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── backpressure │ │ ├── App.java │ │ ├── Publisher.java │ │ └── Subscriber.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── backpressure │ ├── AppTest.java │ ├── LoggerExtension.java │ ├── PublisherTest.java │ └── SubscriberTest.java ├── balking ├── README.md ├── etc │ ├── balking-flowchart.png │ ├── balking.png │ ├── balking.ucls │ └── balking.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── balking │ │ ├── App.java │ │ ├── DelayProvider.java │ │ ├── WashingMachine.java │ │ └── WashingMachineState.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── balking │ ├── AppTest.java │ └── WashingMachineTest.java ├── bloc ├── README.md ├── etc │ ├── bloc-sequence-diagram.png │ ├── bloc.png │ ├── bloc.puml │ └── bloc.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── bloc │ │ ├── Bloc.java │ │ ├── BlocUi.java │ │ ├── ListenerManager.java │ │ ├── Main.java │ │ ├── State.java │ │ └── StateListener.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── bloc │ ├── BlocTest.java │ └── BlocUiTest.java ├── bridge ├── README.md ├── etc │ ├── bridge-sequence-diagram.png │ ├── bridge.urm.png │ └── bridge.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── bridge │ │ ├── App.java │ │ ├── Enchantment.java │ │ ├── FlyingEnchantment.java │ │ ├── Hammer.java │ │ ├── SoulEatingEnchantment.java │ │ ├── Sword.java │ │ └── Weapon.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── bridge │ ├── AppTest.java │ ├── HammerTest.java │ ├── SwordTest.java │ └── WeaponTest.java ├── business-delegate ├── README.md ├── etc │ ├── business-delegate-sequence-diagram.png │ ├── business-delegate.urm.png │ └── business-delegate.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── business │ │ └── delegate │ │ ├── App.java │ │ ├── BusinessDelegate.java │ │ ├── BusinessLookup.java │ │ ├── MobileClient.java │ │ ├── NetflixService.java │ │ ├── VideoStreamingService.java │ │ └── YouTubeService.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── business │ └── delegate │ ├── AppTest.java │ └── BusinessDelegateTest.java ├── bytecode ├── README.md ├── etc │ ├── bytecode-sequence-diagram.png │ ├── bytecode.urm.png │ └── bytecode.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── bytecode │ │ ├── App.java │ │ ├── Instruction.java │ │ ├── VirtualMachine.java │ │ ├── Wizard.java │ │ └── util │ │ └── InstructionConverterUtil.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── bytecode │ ├── AppTest.java │ ├── VirtualMachineTest.java │ └── util │ └── InstructionConverterUtilTest.java ├── caching ├── .gitignore ├── README.md ├── docker-compose.yml ├── etc │ ├── caching-flowchart.png │ ├── caching.png │ ├── caching.ucls │ └── caching.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── caching │ │ ├── App.java │ │ ├── AppManager.java │ │ ├── CacheStore.java │ │ ├── CachingPolicy.java │ │ ├── LruCache.java │ │ ├── UserAccount.java │ │ ├── constants │ │ ├── CachingConstants.java │ │ └── package-info.java │ │ ├── database │ │ ├── DbManager.java │ │ ├── DbManagerFactory.java │ │ ├── MongoDb.java │ │ ├── VirtualDb.java │ │ └── package-info.java │ │ └── package-info.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── caching │ ├── AppTest.java │ ├── CachingTest.java │ └── database │ └── MongoDbTest.java ├── callback ├── README.md ├── etc │ ├── callback-sequence-diagram.png │ ├── callback.png │ ├── callback.ucls │ └── callback.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── callback │ │ ├── App.java │ │ ├── Callback.java │ │ ├── SimpleTask.java │ │ ├── Task.java │ │ └── package-info.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── callback │ ├── AppTest.java │ └── CallbackTest.java ├── chain-of-responsibility ├── README.md ├── etc │ ├── chain-of-responsibility-flowchart.png │ ├── chain-of-responsibility.urm.png │ └── chain-of-responsibility.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── chain │ │ ├── App.java │ │ ├── OrcCommander.java │ │ ├── OrcKing.java │ │ ├── OrcOfficer.java │ │ ├── OrcSoldier.java │ │ ├── Request.java │ │ ├── RequestHandler.java │ │ └── RequestType.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── chain │ ├── AppTest.java │ └── OrcKingTest.java ├── checkstyle-suppressions.xml ├── circuit-breaker ├── README.md ├── etc │ ├── circuit-breaker-flowchart.png │ ├── circuit-breaker.urm.png │ └── circuit-breaker.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── circuitbreaker │ │ ├── App.java │ │ ├── CircuitBreaker.java │ │ ├── DefaultCircuitBreaker.java │ │ ├── DelayedRemoteService.java │ │ ├── MonitoringService.java │ │ ├── QuickRemoteService.java │ │ ├── RemoteService.java │ │ ├── RemoteServiceException.java │ │ └── State.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── circuitbreaker │ ├── AppTest.java │ ├── DefaultCircuitBreakerTest.java │ ├── DelayedRemoteServiceTest.java │ └── MonitoringServiceTest.java ├── clean-architecture ├── README.md ├── etc │ ├── clean-architecture-flowchart.png │ ├── clean-architecture-mind-map.png │ ├── cleanArchitectureUMLDiagram.PNG │ └── cleanArchitectureUMLDiagram.png ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── cleanarchitecture │ │ ├── App.java │ │ ├── Cart.java │ │ ├── CartController.java │ │ ├── CartRepository.java │ │ ├── InMemoryCartRepository.java │ │ ├── InMemoryOrderRepository.java │ │ ├── InMemoryProductRepository.java │ │ ├── Order.java │ │ ├── OrderController.java │ │ ├── OrderRepository.java │ │ ├── Product.java │ │ ├── ProductRepository.java │ │ ├── ShoppingCartService.java │ │ └── package-info.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── cleanarchitecture │ ├── AppTest.java │ └── CartControllerTest.java ├── client-session ├── README.md ├── etc │ ├── client-session-sequence-diagram.png │ └── client-session.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── client │ │ └── session │ │ ├── App.java │ │ ├── Request.java │ │ ├── Server.java │ │ └── Session.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── client │ └── session │ ├── AppTest.java │ └── ServerTest.java ├── collecting-parameter ├── README.md ├── etc │ ├── collecting-parameter-flowchart.png │ ├── collecting-parameter.urm.png │ └── collecting-parameter.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── collectingparameter │ │ ├── App.java │ │ ├── PaperSizes.java │ │ ├── PrinterItem.java │ │ └── PrinterQueue.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── collectingparameter │ ├── AppTest.java │ ├── CollectingParameterTest.java │ └── PrinterQueueTest.java ├── collection-pipeline ├── README.md ├── etc │ ├── collection-pipeline-flowchart.png │ ├── collection-pipeline.urm.png │ └── collection-pipeline.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── collectionpipeline │ │ ├── App.java │ │ ├── Car.java │ │ ├── CarFactory.java │ │ ├── Category.java │ │ ├── FunctionalProgramming.java │ │ ├── ImperativeProgramming.java │ │ └── Person.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── collectionpipeline │ └── AppTest.java ├── combinator ├── README.md ├── etc │ ├── combinator-flowchart.png │ ├── combinator.urm.png │ └── combinator.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── combinator │ │ ├── CombinatorApp.java │ │ ├── Finder.java │ │ └── Finders.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── combinator │ ├── CombinatorAppTest.java │ ├── FinderTest.java │ └── FindersTest.java ├── command-query-responsibility-segregation ├── README.md ├── etc │ ├── command-query-responsibility-segregation.urm.puml │ ├── cqrs-architecture-diagram.png │ ├── cqrs.png │ ├── cqrs.ucls │ └── cqrs.urm.puml ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── iluwatar │ │ │ └── cqrs │ │ │ ├── app │ │ │ └── App.java │ │ │ ├── commandes │ │ │ ├── CommandService.java │ │ │ └── CommandServiceImpl.java │ │ │ ├── constants │ │ │ └── AppConstants.java │ │ │ ├── domain │ │ │ └── model │ │ │ │ ├── Author.java │ │ │ │ └── Book.java │ │ │ ├── dto │ │ │ ├── Author.java │ │ │ └── Book.java │ │ │ ├── queries │ │ │ ├── QueryService.java │ │ │ └── QueryServiceImpl.java │ │ │ └── util │ │ │ └── HibernateUtil.java │ └── resources │ │ ├── hibernate.cfg.xml │ │ └── logback.xml │ └── test │ ├── java │ └── com │ │ └── iluwatar │ │ └── cqrs │ │ └── IntegrationTest.java │ └── resources │ ├── hibernate.cfg.xml │ └── logback.xml ├── command ├── README.md ├── etc │ ├── command-sequence-diagram.png │ ├── command.png │ ├── command.ucls │ └── command.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── command │ │ ├── App.java │ │ ├── Goblin.java │ │ ├── Size.java │ │ ├── Target.java │ │ ├── Visibility.java │ │ └── Wizard.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── command │ ├── AppTest.java │ └── CommandTest.java ├── commander ├── README.md ├── etc │ ├── commander-sequence-diagram.png │ ├── commander.urm.png │ └── commander.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── commander │ │ ├── AppAllCases.java │ │ ├── Commander.java │ │ ├── Database.java │ │ ├── Order.java │ │ ├── Retry.java │ │ ├── RetryParams.java │ │ ├── Service.java │ │ ├── TimeLimits.java │ │ ├── User.java │ │ ├── employeehandle │ │ ├── EmployeeDatabase.java │ │ └── EmployeeHandle.java │ │ ├── exceptions │ │ ├── DatabaseUnavailableException.java │ │ ├── IsEmptyException.java │ │ ├── ItemUnavailableException.java │ │ ├── PaymentDetailsErrorException.java │ │ └── ShippingNotPossibleException.java │ │ ├── messagingservice │ │ ├── MessagingDatabase.java │ │ └── MessagingService.java │ │ ├── paymentservice │ │ ├── PaymentDatabase.java │ │ └── PaymentService.java │ │ ├── queue │ │ ├── Queue.java │ │ ├── QueueDatabase.java │ │ └── QueueTask.java │ │ └── shippingservice │ │ ├── ShippingDatabase.java │ │ └── ShippingService.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── commander │ ├── CommanderTest.java │ └── RetryTest.java ├── component ├── README.md ├── etc │ ├── component-architecture-diagram.png │ ├── component.uml.png │ ├── component.uml.puml │ └── component.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── component │ │ ├── App.java │ │ ├── GameObject.java │ │ └── component │ │ ├── graphiccomponent │ │ ├── GraphicComponent.java │ │ └── ObjectGraphicComponent.java │ │ ├── inputcomponent │ │ ├── DemoInputComponent.java │ │ ├── InputComponent.java │ │ └── PlayerInputComponent.java │ │ └── physiccomponent │ │ ├── ObjectPhysicComponent.java │ │ └── PhysicComponent.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── component │ ├── AppTest.java │ └── GameObjectTest.java ├── composite-entity ├── README.md ├── etc │ ├── composite-entity-flowchart.png │ ├── composite-entity.urm.puml │ └── composite_entity.urm.png ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── compositeentity │ │ ├── App.java │ │ ├── CoarseGrainedObject.java │ │ ├── CompositeEntity.java │ │ ├── ConsoleCoarseGrainedObject.java │ │ ├── DependentObject.java │ │ ├── MessageDependentObject.java │ │ └── SignalDependentObject.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── compositeentity │ ├── AppTest.java │ └── PersistenceTest.java ├── composite-view ├── README.md ├── etc │ ├── composite-view-flowchart.png │ ├── composite-view.urm.puml │ └── composite_view.png ├── pom.xml ├── src │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── iluwatar │ │ │ └── compositeview │ │ │ ├── AppServlet.java │ │ │ └── ClientPropertiesBean.java │ └── test │ │ └── java │ │ └── com │ │ └── iluwatar │ │ └── compositeview │ │ ├── AppServletTest.java │ │ └── JavaBeansTest.java └── web │ ├── WEB-INF │ └── web.xml │ ├── businessNews.jsp │ ├── header.jsp │ ├── index.jsp │ ├── localNews.jsp │ ├── newsDisplay.jsp │ ├── scienceNews.jsp │ ├── sportsNews.jsp │ └── worldNews.jsp ├── composite ├── README.md ├── etc │ ├── composite-flowchart.png │ ├── composite.urm.png │ └── composite.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── composite │ │ ├── App.java │ │ ├── Letter.java │ │ ├── LetterComposite.java │ │ ├── Messenger.java │ │ ├── Sentence.java │ │ └── Word.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── composite │ ├── AppTest.java │ └── MessengerTest.java ├── context-object ├── README.md ├── etc │ ├── context-object-sequence-diagram.png │ ├── context-object.png │ └── context-object.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── context │ │ └── object │ │ ├── App.java │ │ ├── LayerA.java │ │ ├── LayerB.java │ │ ├── LayerC.java │ │ ├── ServiceContext.java │ │ └── ServiceContextFactory.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── contect │ └── object │ ├── AppTest.java │ └── ServiceContextTest.java ├── converter ├── README.md ├── etc │ ├── Converter.ucls │ ├── converter-sequence-diagram.png │ ├── converter.png │ └── converter.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── converter │ │ ├── App.java │ │ ├── Converter.java │ │ ├── User.java │ │ ├── UserConverter.java │ │ └── UserDto.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── converter │ ├── AppTest.java │ └── ConverterTest.java ├── curiously-recurring-template-pattern ├── README.md ├── etc │ ├── crtp-flowchart.png │ └── curiously-recurring-template-pattern.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── crtp │ │ ├── App.java │ │ ├── Fighter.java │ │ ├── MmaBantamweightFighter.java │ │ ├── MmaFighter.java │ │ ├── MmaHeavyweightFighter.java │ │ └── MmaLightweightFighter.java │ └── test │ └── java │ └── crtp │ ├── AppTest.java │ └── FightTest.java ├── currying ├── README.md ├── etc │ ├── currying-sequence-diagram.png │ ├── currying.urm.png │ └── currying.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── currying │ │ ├── App.java │ │ ├── Book.java │ │ └── Genre.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── currying │ ├── AppTest.java │ └── BookCurryingTest.java ├── data-access-object ├── README.md ├── etc │ ├── dao-sequence-diagram.png │ ├── dao.png │ ├── dao.ucls │ ├── dao.urm.puml │ └── data-access-object.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── dao │ │ ├── App.java │ │ ├── CustomException.java │ │ ├── Customer.java │ │ ├── CustomerDao.java │ │ ├── CustomerSchemaSql.java │ │ ├── DbCustomerDao.java │ │ └── InMemoryCustomerDao.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── dao │ ├── AppTest.java │ ├── CustomerTest.java │ ├── DbCustomerDaoTest.java │ └── InMemoryCustomerDaoTest.java ├── data-bus ├── .gitignore ├── README.md ├── etc │ ├── data-bus-sequence-diagram.png │ ├── data-bus.urm.png │ └── data-bus.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── databus │ │ ├── AbstractDataType.java │ │ ├── App.java │ │ ├── DataBus.java │ │ ├── DataType.java │ │ ├── Member.java │ │ ├── data │ │ ├── MessageData.java │ │ ├── StartingData.java │ │ └── StoppingData.java │ │ └── members │ │ ├── MessageCollectorMember.java │ │ └── StatusMember.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── databus │ ├── DataBusTest.java │ └── members │ ├── MessageCollectorMemberTest.java │ └── StatusMemberTest.java ├── data-locality ├── README.md ├── etc │ ├── data-locality-flowchart.png │ ├── data-locality-mind-map.png │ ├── data-locality.urm.png │ └── data-locality.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── data │ │ └── locality │ │ ├── Application.java │ │ └── game │ │ ├── GameEntity.java │ │ └── component │ │ ├── AiComponent.java │ │ ├── Component.java │ │ ├── PhysicsComponent.java │ │ ├── RenderComponent.java │ │ └── manager │ │ ├── AiComponentManager.java │ │ ├── PhysicsComponentManager.java │ │ └── RenderComponentManager.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── data │ └── locality │ └── ApplicationTest.java ├── data-mapper ├── README.md ├── etc │ ├── data-mapper-sequence-diagram.png │ ├── data-mapper.png │ ├── data-mapper.ucls │ └── data-mapper.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── datamapper │ │ ├── App.java │ │ ├── DataMapperException.java │ │ ├── Student.java │ │ ├── StudentDataMapper.java │ │ └── StudentDataMapperImpl.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── datamapper │ ├── AppTest.java │ ├── DataMapperTest.java │ └── StudentTest.java ├── data-transfer-object ├── README.md ├── etc │ ├── data-transfer-object.ucls │ ├── data-transfer-object.urm.png │ ├── data-transfer-object.urm.puml │ └── dto-sequence-diagram.png ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── datatransfer │ │ ├── App.java │ │ ├── customer │ │ ├── CustomerDto.java │ │ └── CustomerResource.java │ │ └── product │ │ ├── Product.java │ │ ├── ProductDto.java │ │ └── ProductResource.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── datatransfer │ ├── AppTest.java │ └── customer │ └── CustomerResourceTest.java ├── decorator ├── README.md ├── etc │ ├── decorator-sequence-diagram.png │ ├── decorator.urm.png │ └── decorator.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── decorator │ │ ├── App.java │ │ ├── ClubbedTroll.java │ │ ├── SimpleTroll.java │ │ └── Troll.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── decorator │ ├── AppTest.java │ ├── ClubbedTrollTest.java │ └── SimpleTrollTest.java ├── delegation ├── README.md ├── etc │ ├── delegation-sequence-diagram.png │ ├── delegation.png │ ├── delegation.ucls │ └── delegation.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── delegation │ │ └── simple │ │ ├── App.java │ │ ├── Printer.java │ │ ├── PrinterController.java │ │ └── printers │ │ ├── CanonPrinter.java │ │ ├── EpsonPrinter.java │ │ └── HpPrinter.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── delegation │ └── simple │ ├── AppTest.java │ └── DelegateTest.java ├── dependency-injection ├── README.md ├── etc │ ├── dependency-injection-sequence-diagram.png │ ├── dependency-injection.png │ ├── dependency-injection.ucls │ └── dependency-injection.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── dependency │ │ └── injection │ │ ├── AdvancedSorceress.java │ │ ├── AdvancedWizard.java │ │ ├── App.java │ │ ├── GuiceWizard.java │ │ ├── OldTobyTobacco.java │ │ ├── RivendellTobacco.java │ │ ├── SecondBreakfastTobacco.java │ │ ├── SimpleWizard.java │ │ ├── Tobacco.java │ │ ├── TobaccoModule.java │ │ └── Wizard.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── dependency │ └── injection │ ├── AdvancedSorceressTest.java │ ├── AdvancedWizardTest.java │ ├── AppTest.java │ ├── GuiceWizardTest.java │ ├── SimpleWizardTest.java │ └── utils │ └── InMemoryAppender.java ├── dirty-flag ├── README.md ├── etc │ ├── dirty-flag-flowchart.png │ ├── dirty-flag.png │ ├── dirty-flag.ucls │ └── dirty-flag.urm.puml ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── iluwatar │ │ │ └── dirtyflag │ │ │ ├── App.java │ │ │ ├── DataFetcher.java │ │ │ └── World.java │ └── resources │ │ └── world.txt │ └── test │ └── java │ └── org │ └── dirty │ └── flag │ ├── AppTest.java │ └── DirtyFlagTest.java ├── domain-model ├── README.md ├── etc │ ├── domain-model-mind-map.png │ ├── domain-model.urm.png │ └── domain-model.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── domainmodel │ │ ├── App.java │ │ ├── Customer.java │ │ ├── CustomerDao.java │ │ ├── CustomerDaoImpl.java │ │ ├── Product.java │ │ ├── ProductDao.java │ │ └── ProductDaoImpl.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── domainmodel │ ├── AppTest.java │ ├── CustomerDaoImplTest.java │ ├── CustomerTest.java │ ├── ProductDaoImplTest.java │ ├── ProductTest.java │ └── TestUtils.java ├── double-buffer ├── README.md ├── etc │ ├── double-buffer-sequence-diagram.png │ ├── double-buffer.urm.png │ └── double-buffer.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── doublebuffer │ │ ├── App.java │ │ ├── Buffer.java │ │ ├── FrameBuffer.java │ │ ├── Pixel.java │ │ └── Scene.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── doublebuffer │ ├── AppTest.java │ ├── FrameBufferTest.java │ └── SceneTest.java ├── double-checked-locking ├── README.md ├── etc │ ├── double-checked-locking-flowchart.png │ ├── double-checked-locking.png │ ├── double-checked-locking.ucls │ ├── double-checked-locking.urm.puml │ └── double_checked_locking_1.png ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── iluwatar │ │ │ └── doublechecked │ │ │ └── locking │ │ │ ├── App.java │ │ │ ├── Inventory.java │ │ │ └── Item.java │ └── resources │ │ └── logback.xml │ └── test │ └── java │ └── com │ └── iluwatar │ └── doublechecked │ └── locking │ ├── AppTest.java │ └── InventoryTest.java ├── double-dispatch ├── README.md ├── etc │ ├── double-dispatch-sequence-diagram.png │ ├── double-dispatch.png │ ├── double-dispatch.ucls │ └── double-dispatch.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── doubledispatch │ │ ├── App.java │ │ ├── FlamingAsteroid.java │ │ ├── GameObject.java │ │ ├── Meteoroid.java │ │ ├── Rectangle.java │ │ ├── SpaceStationIss.java │ │ ├── SpaceStationMir.java │ │ └── constants │ │ └── AppConstants.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── doubledispatch │ ├── AppTest.java │ ├── CollisionTest.java │ ├── FlamingAsteroidTest.java │ ├── MeteoroidTest.java │ ├── RectangleTest.java │ ├── SpaceStationIssTest.java │ └── SpaceStationMirTest.java ├── dynamic-proxy ├── README.md ├── etc │ ├── dynamic-proxy-sequence-diagram.png │ ├── dynamic-proxy.urm.png │ └── dynamic-proxy.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── dynamicproxy │ │ ├── Album.java │ │ ├── AlbumInvocationHandler.java │ │ ├── AlbumService.java │ │ ├── App.java │ │ └── tinyrestclient │ │ ├── JsonUtil.java │ │ ├── TinyRestClient.java │ │ └── annotation │ │ ├── Body.java │ │ ├── Delete.java │ │ ├── Get.java │ │ ├── Http.java │ │ ├── Path.java │ │ ├── Post.java │ │ └── Put.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── dynamicproxy │ └── AppTest.java ├── event-aggregator ├── README.md ├── etc │ ├── classes.png │ ├── classes.ucls │ ├── event-aggregator-sequence-diagram.png │ └── event-aggregator.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── event │ │ └── aggregator │ │ ├── App.java │ │ ├── Event.java │ │ ├── EventEmitter.java │ │ ├── EventObserver.java │ │ ├── KingJoffrey.java │ │ ├── KingsHand.java │ │ ├── LordBaelish.java │ │ ├── LordVarys.java │ │ ├── Scout.java │ │ └── Weekday.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── event │ └── aggregator │ ├── AppTest.java │ ├── EventEmitterTest.java │ ├── EventTest.java │ ├── KingJoffreyTest.java │ ├── KingsHandTest.java │ ├── LordBaelishTest.java │ ├── LordVarysTest.java │ ├── ScoutTest.java │ └── WeekdayTest.java ├── event-based-asynchronous ├── README.md ├── etc │ ├── event-asynchronous.png │ ├── event-asynchronous.ucls │ ├── event-asynchronous.urm.puml │ ├── event-based-asynchronous-sequence-diagram.png │ └── event-based-asynchronous.urm.puml ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── iluwatar │ │ │ └── event │ │ │ └── asynchronous │ │ │ ├── App.java │ │ │ ├── AsyncEvent.java │ │ │ ├── Event.java │ │ │ ├── EventDoesNotExistException.java │ │ │ ├── EventManager.java │ │ │ ├── InvalidOperationException.java │ │ │ ├── LongRunningEventException.java │ │ │ ├── MaxNumOfEventsAllowedException.java │ │ │ └── ThreadCompleteListener.java │ └── resources │ │ └── config.properties │ └── test │ └── java │ └── com │ └── iluwatar │ └── event │ └── asynchronous │ ├── AppTest.java │ └── EventAsynchronousTest.java ├── event-driven-architecture ├── README.md ├── etc │ ├── eda-architecture-diagram.png │ ├── eda.png │ ├── eda.ucls │ └── event-driven-architecture.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── eda │ │ ├── App.java │ │ ├── event │ │ ├── AbstractEvent.java │ │ ├── UserCreatedEvent.java │ │ └── UserUpdatedEvent.java │ │ ├── framework │ │ ├── Event.java │ │ ├── EventDispatcher.java │ │ └── Handler.java │ │ ├── handler │ │ ├── UserCreatedEventHandler.java │ │ └── UserUpdatedEventHandler.java │ │ └── model │ │ └── User.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── eda │ ├── AppTest.java │ ├── event │ └── UserCreatedEventTest.java │ └── framework │ └── EventDispatcherTest.java ├── event-queue ├── README.md ├── etc │ ├── Bass-Drum-1.aif │ ├── Bass-Drum-1.wav │ ├── Closed-Hi-Hat-1.aif │ ├── Closed-Hi-Hat-1.wav │ ├── event-queue-sequence-diagram.png │ └── event-queue.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── event │ │ └── queue │ │ ├── App.java │ │ ├── Audio.java │ │ └── PlayMessage.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── event │ └── queue │ └── AudioTest.java ├── event-sourcing ├── README.md ├── etc │ ├── event-sourcing-architecture-diagram.png │ ├── event-sourcing.png │ ├── event-sourcing.ucls │ └── event-sourcing.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── event │ │ └── sourcing │ │ ├── app │ │ └── App.java │ │ ├── domain │ │ └── Account.java │ │ ├── event │ │ ├── AccountCreateEvent.java │ │ ├── DomainEvent.java │ │ ├── MoneyDepositEvent.java │ │ └── MoneyTransferEvent.java │ │ ├── processor │ │ ├── DomainEventProcessor.java │ │ ├── EventJournal.java │ │ └── JsonFileJournal.java │ │ └── state │ │ └── AccountAggregate.java │ └── test │ └── java │ └── IntegrationTest.java ├── execute-around ├── README.md ├── etc │ ├── execute-around-flowchart.png │ ├── execute-around.png │ ├── execute-around.ucls │ └── execute-around.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── execute │ │ └── around │ │ ├── App.java │ │ ├── FileWriterAction.java │ │ └── SimpleFileWriter.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── execute │ └── around │ ├── AppTest.java │ └── SimpleFileWriterTest.java ├── extension-objects ├── README.md ├── etc │ ├── extension-objects-sequence-diagram.png │ ├── extension-objects.urm.puml │ ├── extension_obj.png │ └── extension_obj.ucls ├── pom.xml └── src │ ├── main │ └── java │ │ ├── App.java │ │ ├── abstractextensions │ │ ├── CommanderExtension.java │ │ ├── SergeantExtension.java │ │ ├── SoldierExtension.java │ │ └── UnitExtension.java │ │ ├── concreteextensions │ │ ├── Commander.java │ │ ├── Sergeant.java │ │ └── Soldier.java │ │ └── units │ │ ├── CommanderUnit.java │ │ ├── SergeantUnit.java │ │ ├── SoldierUnit.java │ │ └── Unit.java │ └── test │ └── java │ ├── AppTest.java │ ├── concreteextensions │ ├── CommanderTest.java │ ├── SergeantTest.java │ └── SoldierTest.java │ └── units │ ├── CommanderUnitTest.java │ ├── SergeantUnitTest.java │ ├── SoldierUnitTest.java │ └── UnitTest.java ├── facade ├── README.md ├── etc │ ├── facade-sequence-diagram.png │ ├── facade.urm.png │ └── facade.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── facade │ │ ├── App.java │ │ ├── DwarvenCartOperator.java │ │ ├── DwarvenGoldDigger.java │ │ ├── DwarvenGoldmineFacade.java │ │ ├── DwarvenMineWorker.java │ │ └── DwarvenTunnelDigger.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── facade │ ├── AppTest.java │ └── DwarvenGoldmineFacadeTest.java ├── factory-kit ├── README.md ├── etc │ ├── factory-kit-sequence-diagram.png │ ├── factory-kit.png │ ├── factory-kit.ucls │ └── factory-kit.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── factorykit │ │ ├── App.java │ │ ├── Axe.java │ │ ├── Bow.java │ │ ├── Builder.java │ │ ├── Spear.java │ │ ├── Sword.java │ │ ├── Weapon.java │ │ ├── WeaponFactory.java │ │ └── WeaponType.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── factorykit │ ├── app │ └── AppTest.java │ └── factorykit │ └── FactoryKitTest.java ├── factory-method ├── .gitignore ├── README.md ├── etc │ ├── factory-method-sequence-diagram.png │ ├── factory-method.urm.png │ └── factory-method.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── factory │ │ └── method │ │ ├── App.java │ │ ├── Blacksmith.java │ │ ├── ElfBlacksmith.java │ │ ├── ElfWeapon.java │ │ ├── OrcBlacksmith.java │ │ ├── OrcWeapon.java │ │ ├── Weapon.java │ │ └── WeaponType.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── factory │ └── method │ ├── AppTest.java │ └── FactoryMethodTest.java ├── factory ├── README.md ├── etc │ ├── factory-sequence-diagram.png │ ├── factory.urm.png │ └── factory.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── factory │ │ ├── App.java │ │ ├── Coin.java │ │ ├── CoinFactory.java │ │ ├── CoinType.java │ │ ├── CopperCoin.java │ │ └── GoldCoin.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── factory │ ├── AppTest.java │ └── CoinFactoryTest.java ├── fanout-fanin ├── README.md ├── etc │ ├── fan-out-fan-in-flowchart.png │ ├── fanout-fanin.png │ └── fanout-fanin.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── fanout │ │ └── fanin │ │ ├── App.java │ │ ├── Consumer.java │ │ ├── FanOutFanIn.java │ │ └── SquareNumberRequest.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── fanout │ └── fanin │ ├── AppTest.java │ ├── FanOutFanInTest.java │ └── SquareNumberRequestTest.java ├── feature-toggle ├── README.md ├── etc │ ├── feature-toggle-flowchart.png │ ├── feature-toggle.png │ ├── feature-toggle.ucls │ └── feature-toggle.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── featuretoggle │ │ ├── App.java │ │ ├── pattern │ │ ├── Service.java │ │ ├── propertiesversion │ │ │ └── PropertiesFeatureToggleVersion.java │ │ └── tieredversion │ │ │ └── TieredFeatureToggleVersion.java │ │ └── user │ │ ├── User.java │ │ └── UserGroup.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── featuretoggle │ ├── pattern │ ├── propertiesversion │ │ └── PropertiesFeatureToggleVersionTest.java │ └── tieredversion │ │ └── TieredFeatureToggleVersionTest.java │ └── user │ └── UserGroupTest.java ├── filterer ├── README.md ├── etc │ ├── filterer-flowchart.png │ ├── filterer.png │ └── filterer.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── filterer │ │ ├── App.java │ │ ├── domain │ │ └── Filterer.java │ │ └── threat │ │ ├── ProbabilisticThreatAwareSystem.java │ │ ├── ProbableThreat.java │ │ ├── SimpleProbabilisticThreatAwareSystem.java │ │ ├── SimpleProbableThreat.java │ │ ├── SimpleThreat.java │ │ ├── SimpleThreatAwareSystem.java │ │ ├── Threat.java │ │ ├── ThreatAwareSystem.java │ │ └── ThreatType.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── filterer │ ├── AppTest.java │ └── threat │ ├── SimpleProbabilisticThreatAwareSystemTest.java │ └── SimpleThreatAwareSystemTest.java ├── fluent-interface ├── README.md ├── etc │ ├── fluent-interface-sequence-diagram.png │ ├── fluent-interface.urm.puml │ ├── fluentinterface.png │ ├── fluentinterface.ucls │ └── fluentinterface.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── fluentinterface │ │ ├── app │ │ └── App.java │ │ └── fluentiterable │ │ ├── FluentIterable.java │ │ ├── lazy │ │ ├── DecoratingIterator.java │ │ └── LazyFluentIterable.java │ │ └── simple │ │ └── SimpleFluentIterable.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── fluentinterface │ ├── app │ └── AppTest.java │ └── fluentiterable │ ├── FluentIterableTest.java │ ├── lazy │ └── LazyFluentIterableTest.java │ └── simple │ └── SimpleFluentIterableTest.java ├── flux ├── README.md ├── etc │ ├── flux-architecture-diagram.png │ ├── flux.png │ ├── flux.ucls │ └── flux.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── flux │ │ ├── action │ │ ├── Action.java │ │ ├── ActionType.java │ │ ├── Content.java │ │ ├── ContentAction.java │ │ ├── MenuAction.java │ │ └── MenuItem.java │ │ ├── app │ │ └── App.java │ │ ├── dispatcher │ │ └── Dispatcher.java │ │ ├── store │ │ ├── ContentStore.java │ │ ├── MenuStore.java │ │ └── Store.java │ │ └── view │ │ ├── ContentView.java │ │ ├── MenuView.java │ │ └── View.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── flux │ ├── action │ ├── ContentTest.java │ └── MenuItemTest.java │ ├── app │ └── AppTest.java │ ├── dispatcher │ └── DispatcherTest.java │ ├── store │ ├── ContentStoreTest.java │ └── MenuStoreTest.java │ └── view │ ├── ContentViewTest.java │ └── MenuViewTest.java ├── flyweight ├── README.md ├── etc │ ├── flyweight-sequence-diagram.png │ ├── flyweight.urm.png │ └── flyweight.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── flyweight │ │ ├── AlchemistShop.java │ │ ├── App.java │ │ ├── HealingPotion.java │ │ ├── HolyWaterPotion.java │ │ ├── InvisibilityPotion.java │ │ ├── PoisonPotion.java │ │ ├── Potion.java │ │ ├── PotionFactory.java │ │ ├── PotionType.java │ │ └── StrengthPotion.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── flyweight │ ├── AlchemistShopTest.java │ └── AppTest.java ├── front-controller ├── README.md ├── etc │ ├── front-controller-architecture-diagram.png │ ├── front-controller.png │ ├── front-controller.ucls │ └── front-controller.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── front │ │ └── controller │ │ ├── App.java │ │ ├── ApplicationException.java │ │ ├── ArcherCommand.java │ │ ├── ArcherView.java │ │ ├── CatapultCommand.java │ │ ├── CatapultView.java │ │ ├── Command.java │ │ ├── Dispatcher.java │ │ ├── ErrorView.java │ │ ├── FrontController.java │ │ ├── UnknownCommand.java │ │ └── View.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── front │ └── controller │ ├── AppTest.java │ ├── ApplicationExceptionTest.java │ ├── CommandTest.java │ ├── DispatcherTest.java │ ├── FrontControllerTest.java │ ├── ViewTest.java │ └── utils │ └── InMemoryAppender.java ├── function-composition ├── .gitignore ├── README.md ├── etc │ ├── function-composition-sequence-diagram.png │ ├── function-composition.urm.puml │ ├── function.composition.urm.png │ └── function.composition.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── function │ │ └── composition │ │ ├── App.java │ │ └── FunctionComposer.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── function │ └── composition │ ├── AppTest.java │ └── FunctionComposerTest.java ├── game-loop ├── README.md ├── etc │ ├── game-loop-flowchart.png │ ├── game-loop.urm.png │ └── game-loop.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── gameloop │ │ ├── App.java │ │ ├── Bullet.java │ │ ├── FixedStepGameLoop.java │ │ ├── FrameBasedGameLoop.java │ │ ├── GameController.java │ │ ├── GameLoop.java │ │ ├── GameStatus.java │ │ └── VariableStepGameLoop.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── gameloop │ ├── AppTest.java │ ├── FixedStepGameLoopTest.java │ ├── FrameBasedGameLoopTest.java │ ├── GameControllerTest.java │ ├── GameLoopTest.java │ └── VariableStepGameLoopTest.java ├── gateway ├── README.md ├── etc │ ├── gateway-sequence-diagram.png │ ├── gateway.urm.png │ └── gateway.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── gateway │ │ ├── App.java │ │ ├── ExternalServiceA.java │ │ ├── ExternalServiceB.java │ │ ├── ExternalServiceC.java │ │ ├── Gateway.java │ │ └── GatewayFactory.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── gateway │ ├── AppTest.java │ └── ServiceFactoryTest.java ├── guarded-suspension ├── README.md ├── etc │ ├── guarded-suspension-sequence-diagram.png │ ├── guarded-suspension.png │ ├── guarded-suspension.ucls │ └── guarded-suspension.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── guarded │ │ └── suspension │ │ ├── App.java │ │ └── GuardedQueue.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── guarded │ └── suspension │ └── GuardedQueueTest.java ├── half-sync-half-async ├── README.md ├── etc │ ├── half-sync-half-async-sequence-diagram.png │ ├── half-sync-half-async.png │ ├── half-sync-half-async.ucls │ └── half-sync-half-async.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── halfsynchalfasync │ │ ├── App.java │ │ ├── AsyncTask.java │ │ └── AsynchronousService.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── halfsynchalfasync │ ├── AppTest.java │ └── AsynchronousServiceTest.java ├── health-check ├── README.md ├── etc │ ├── health-check-sequence-diagram.png │ ├── health-check.png │ ├── health-check.puml │ └── health-check.urm.puml ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── iluwatar │ │ │ └── health │ │ │ └── check │ │ │ ├── App.java │ │ │ ├── AsynchronousHealthChecker.java │ │ │ ├── CpuHealthIndicator.java │ │ │ ├── CustomHealthIndicator.java │ │ │ ├── DatabaseTransactionHealthIndicator.java │ │ │ ├── GarbageCollectionHealthIndicator.java │ │ │ ├── HealthCheck.java │ │ │ ├── HealthCheckInterruptedException.java │ │ │ ├── HealthCheckRepository.java │ │ │ ├── MemoryHealthIndicator.java │ │ │ └── RetryConfig.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ ├── AppTest.java │ ├── AsynchronousHealthCheckerTest.java │ ├── CpuHealthIndicatorTest.java │ ├── CustomHealthIndicatorTest.java │ ├── DatabaseTransactionHealthIndicatorTest.java │ ├── GarbageCollectionHealthIndicatorTest.java │ ├── HealthCheckRepositoryTest.java │ ├── HealthEndpointIntegrationTest.java │ ├── MemoryHealthIndicatorTest.java │ └── RetryConfigTest.java ├── hexagonal-architecture ├── README.md ├── etc │ ├── hexagonal-architecture-diagram.png │ ├── hexagonal-architecture.urm.puml │ ├── hexagonal.png │ ├── hexagonal.ucls │ └── hexagonal.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── hexagonal │ │ ├── App.java │ │ ├── administration │ │ ├── ConsoleAdministration.java │ │ ├── ConsoleAdministrationSrv.java │ │ └── ConsoleAdministrationSrvImpl.java │ │ ├── banking │ │ ├── InMemoryBank.java │ │ ├── MongoBank.java │ │ └── WireTransfers.java │ │ ├── database │ │ ├── InMemoryTicketRepository.java │ │ ├── LotteryTicketRepository.java │ │ └── MongoTicketRepository.java │ │ ├── domain │ │ ├── LotteryAdministration.java │ │ ├── LotteryConstants.java │ │ ├── LotteryNumbers.java │ │ ├── LotteryService.java │ │ ├── LotteryTicket.java │ │ ├── LotteryTicketCheckResult.java │ │ ├── LotteryTicketId.java │ │ ├── LotteryUtils.java │ │ └── PlayerDetails.java │ │ ├── eventlog │ │ ├── LotteryEventLog.java │ │ ├── MongoEventLog.java │ │ └── StdOutEventLog.java │ │ ├── module │ │ ├── LotteryModule.java │ │ └── LotteryTestingModule.java │ │ ├── mongo │ │ └── MongoConnectionPropertiesLoader.java │ │ ├── sampledata │ │ └── SampleData.java │ │ └── service │ │ ├── ConsoleLottery.java │ │ ├── LotteryConsoleService.java │ │ └── LotteryConsoleServiceImpl.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── hexagonal │ ├── AppTest.java │ ├── banking │ ├── InMemoryBankTest.java │ └── MongoBankTest.java │ ├── database │ ├── InMemoryTicketRepositoryTest.java │ └── MongoTicketRepositoryTest.java │ ├── domain │ ├── LotteryNumbersTest.java │ ├── LotteryTest.java │ ├── LotteryTicketCheckResultTest.java │ ├── LotteryTicketIdTest.java │ ├── LotteryTicketTest.java │ └── PlayerDetailsTest.java │ ├── eventlog │ └── MongoEventLogTest.java │ └── test │ └── LotteryTestUtils.java ├── identity-map ├── README.md ├── etc │ ├── IdentityMap.png │ ├── identity-map-sequence-diagram.png │ └── identity-map.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── identitymap │ │ ├── App.java │ │ ├── IdNotFoundException.java │ │ ├── IdentityMap.java │ │ ├── Person.java │ │ ├── PersonDbSimulator.java │ │ ├── PersonDbSimulatorImplementation.java │ │ └── PersonFinder.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── identitymap │ ├── AppTest.java │ ├── IdentityMapTest.java │ ├── PersonDbSimulatorImplementationTest.java │ ├── PersonFinderTest.java │ └── PersonTest.java ├── intercepting-filter ├── README.md ├── etc │ ├── intercepting-filter-architecture-diagram.png │ ├── intercepting-filter.png │ ├── intercepting-filter.ucls │ └── intercepting-filter.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── intercepting │ │ └── filter │ │ ├── AbstractFilter.java │ │ ├── AddressFilter.java │ │ ├── App.java │ │ ├── Client.java │ │ ├── ContactFilter.java │ │ ├── DepositFilter.java │ │ ├── Filter.java │ │ ├── FilterChain.java │ │ ├── FilterManager.java │ │ ├── NameFilter.java │ │ ├── Order.java │ │ ├── OrderFilter.java │ │ └── Target.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── intercepting │ └── filter │ ├── AppTest.java │ ├── FilterManagerTest.java │ ├── FilterTest.java │ ├── OrderTest.java │ └── TargetTest.java ├── interpreter ├── README.md ├── etc │ ├── interpreter-sequence-diagram.png │ ├── interpreter.png │ ├── interpreter.ucls │ ├── interpreter.urm.puml │ └── interpreter_1.png ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── interpreter │ │ ├── App.java │ │ ├── Expression.java │ │ ├── MinusExpression.java │ │ ├── MultiplyExpression.java │ │ ├── NumberExpression.java │ │ └── PlusExpression.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── interpreter │ ├── AppTest.java │ ├── ExpressionTest.java │ ├── MinusExpressionTest.java │ ├── MultiplyExpressionTest.java │ ├── NumberExpressionTest.java │ └── PlusExpressionTest.java ├── iterator ├── README.md ├── etc │ ├── bst.jpg │ ├── iterator-sequence-diagram.png │ ├── iterator.png │ ├── iterator.ucls │ ├── iterator.urm.puml │ └── iterator_1.png ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── iterator │ │ ├── App.java │ │ ├── Iterator.java │ │ ├── bst │ │ ├── BstIterator.java │ │ ├── README.md │ │ └── TreeNode.java │ │ └── list │ │ ├── Item.java │ │ ├── ItemType.java │ │ ├── TreasureChest.java │ │ └── TreasureChestItemIterator.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── iterator │ ├── AppTest.java │ ├── bst │ └── BstIteratorTest.java │ └── list │ └── TreasureChestTest.java ├── layered-architecture ├── README.md ├── etc │ ├── layered-architecture-diagram.png │ ├── layers.png │ ├── layers.ucls │ └── layers.urm.puml ├── pom.xml └── src │ ├── main │ ├── java │ │ ├── com │ │ │ └── iluwatar │ │ │ │ └── layers │ │ │ │ ├── Runner.java │ │ │ │ └── app │ │ │ │ └── LayersApp.java │ │ ├── dao │ │ │ ├── CakeDao.java │ │ │ ├── CakeLayerDao.java │ │ │ └── CakeToppingDao.java │ │ ├── dto │ │ │ ├── CakeInfo.java │ │ │ ├── CakeLayerInfo.java │ │ │ └── CakeToppingInfo.java │ │ ├── entity │ │ │ ├── Cake.java │ │ │ ├── CakeLayer.java │ │ │ └── CakeTopping.java │ │ ├── exception │ │ │ └── CakeBakingException.java │ │ ├── service │ │ │ ├── CakeBakingService.java │ │ │ └── CakeBakingServiceImpl.java │ │ └── view │ │ │ ├── CakeViewImpl.java │ │ │ └── View.java │ └── resources │ │ ├── META-INF │ │ └── logback.xml │ │ └── application.properties │ └── test │ └── java │ └── com │ └── iluwatar │ └── layers │ ├── app │ └── LayersAppTests.java │ ├── entity │ └── CakeTest.java │ ├── exception │ └── CakeBakingExceptionTest.java │ ├── service │ └── CakeBakingServiceImplTest.java │ └── view │ └── CakeViewImplTest.java ├── lazy-loading ├── README.md ├── etc │ ├── lazy-loading-sequence-diagram.png │ ├── lazy-loading.png │ ├── lazy-loading.ucls │ └── lazy-loading.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── lazy │ │ └── loading │ │ ├── App.java │ │ ├── Heavy.java │ │ ├── HolderNaive.java │ │ ├── HolderThreadSafe.java │ │ └── Java8Holder.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── lazy │ └── loading │ ├── AbstractHolderTest.java │ ├── AppTest.java │ ├── HolderNaiveTest.java │ ├── HolderThreadSafeTest.java │ └── Java8HolderTest.java ├── leader-election ├── README.md ├── etc │ ├── leader-election-sequence-diagram.png │ ├── leader-election.urm.png │ └── leader-election.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── leaderelection │ │ ├── AbstractInstance.java │ │ ├── AbstractMessageManager.java │ │ ├── Instance.java │ │ ├── Message.java │ │ ├── MessageManager.java │ │ ├── MessageType.java │ │ ├── bully │ │ ├── BullyApp.java │ │ ├── BullyInstance.java │ │ └── BullyMessageManager.java │ │ └── ring │ │ ├── RingApp.java │ │ ├── RingInstance.java │ │ └── RingMessageManager.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── leaderelection │ ├── MessageTest.java │ ├── bully │ ├── BullyAppTest.java │ ├── BullyMessageManagerTest.java │ └── BullyinstanceTest.java │ └── ring │ ├── RingAppTest.java │ ├── RingInstanceTest.java │ └── RingMessageManagerTest.java ├── leader-followers ├── README.md ├── etc │ ├── leader-followers-sequence-diagram.png │ ├── leader-followers.png │ └── leader-followers.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── leaderfollowers │ │ ├── App.java │ │ ├── Task.java │ │ ├── TaskHandler.java │ │ ├── TaskSet.java │ │ ├── WorkCenter.java │ │ └── Worker.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── leaderfollowers │ ├── AppTest.java │ ├── TaskHandlerTest.java │ ├── TaskSetTest.java │ └── WorkCenterTest.java ├── lgpl-3.0.txt ├── localization ├── ar │ ├── README.md │ ├── abstract-document │ │ ├── README.md │ │ └── etc │ │ │ └── abstract-document.png │ ├── abstract-factory │ │ ├── README.md │ │ └── etc │ │ │ └── abstract-factory.urm.png │ ├── active-object │ │ ├── README.md │ │ └── etc │ │ │ └── active-object.urm.png │ ├── acyclic-visitor │ │ ├── README.md │ │ └── etc │ │ │ └── acyclic-visitor.png │ ├── adapter │ │ ├── README.md │ │ └── etc │ │ │ └── adapter.urm.png │ ├── aggregator-microservices │ │ ├── README.md │ │ └── aggregator-service │ │ │ └── etc │ │ │ └── aggregator-service.png │ ├── ambassador │ │ ├── README.md │ │ └── etc │ │ │ └── ambassador.urm.png │ ├── api-gateway │ │ ├── README.md │ │ └── etc │ │ │ └── api-gateway.png │ ├── arrange-act-assert │ │ └── README.md │ ├── async-method-invocation │ │ ├── README.md │ │ └── etc │ │ │ └── async-method-invocation.png │ ├── balking │ │ ├── README.md │ │ └── etc │ │ │ └── balking.png │ ├── bridge │ │ ├── README.md │ │ └── etc │ │ │ └── bridge.urm.png │ ├── builder │ │ ├── README.md │ │ └── etc │ │ │ └── builder.urm.png │ ├── business-delegate │ │ ├── README.md │ │ └── etc │ │ │ └── business-delegate.urm.png │ ├── bytecode │ │ ├── README.md │ │ └── etc │ │ │ └── bytecode.urm.png │ ├── chain-of-responsibility │ │ ├── README.md │ │ └── etc │ │ │ └── chain-of-responsibility.urm.png │ ├── client-session │ │ ├── README.md │ │ └── etc │ │ │ └── session_state_pattern.png │ ├── collecting-parameter │ │ ├── README.md │ │ └── etc │ │ │ └── collecting-parameter.urm.png │ ├── command │ │ ├── README.md │ │ └── etc │ │ │ └── command.png │ ├── commander │ │ ├── README.md │ │ └── etc │ │ │ └── commander.urm.png │ ├── composite-entity │ │ ├── README.md │ │ └── etc │ │ │ └── composite_entity.urm.png │ ├── composite-view │ │ ├── README.md │ │ └── etc │ │ │ ├── composite_view.png │ │ │ └── images │ │ │ ├── noparam.png │ │ │ └── threeparams.png │ ├── composite │ │ ├── README.md │ │ └── etc │ │ │ └── composite.urm.png │ ├── context-object │ │ ├── README.md │ │ └── etc │ │ │ └── context-object.png │ ├── converter │ │ ├── README.md │ │ └── etc │ │ │ └── converter.png │ ├── crtp │ │ ├── README.md │ │ └── etc │ │ │ └── crtp.png │ ├── data-locality │ │ ├── README.md │ │ └── etc │ │ │ └── data-locality.urm.png │ ├── decorator │ │ ├── README.md │ │ └── etc │ │ │ └── decorator.urm.png │ ├── delegation │ │ ├── README.md │ │ └── etc │ │ │ └── delegation.png │ ├── dependency-injection │ │ ├── README.md │ │ └── etc │ │ │ └── dependency-injection.png │ ├── dirty-flag │ │ ├── README.md │ │ └── etc │ │ │ └── dirty-flag.png │ ├── double-buffer │ │ ├── README.md │ │ └── etc │ │ │ └── double-buffer.urm.png │ ├── embedded-value │ │ ├── README.md │ │ └── etc │ │ │ └── embedded-value.urm.png │ ├── event-aggregator │ │ ├── README.md │ │ └── etc │ │ │ └── classes.png │ ├── extension-objects │ │ ├── README.md │ │ └── etc │ │ │ └── extension_obj.png │ ├── facade │ │ ├── README.md │ │ └── etc │ │ │ └── facade.urm.png │ └── factory │ │ ├── README.md │ │ └── etc │ │ └── factory.urm.png ├── bn │ └── README.md ├── da │ └── README.md ├── de │ ├── README.md │ └── abstract-document │ │ ├── README.md │ │ └── etc │ │ └── abstract-document.png ├── el │ └── README.md ├── es │ ├── README.md │ ├── abstract-document │ │ ├── README.md │ │ └── etc │ │ │ └── abstract-document.png │ ├── abstract-factory │ │ ├── README.md │ │ └── etc │ │ │ └── abstract-factory.urm.png │ ├── active-object │ │ ├── README.md │ │ └── etc │ │ │ └── active-object.urm.png │ ├── acyclic-visitor │ │ ├── README.md │ │ └── etc │ │ │ └── acyclic-visitor.png │ ├── adapter │ │ ├── README.md │ │ └── etc │ │ │ └── adapter.urm.png │ ├── aggregator-microservices │ │ ├── README.md │ │ └── aggregator-service │ │ │ └── etc │ │ │ └── aggregator-service.png │ ├── ambassador │ │ ├── README.md │ │ └── etc │ │ │ └── ambassador.urm.png │ ├── api-gateway │ │ ├── README.md │ │ └── etc │ │ │ └── api-gateway.png │ ├── arrange-act-assert │ │ └── README.md │ ├── async-method-invocation │ │ ├── README.md │ │ └── etc │ │ │ └── async-method-invocation.png │ ├── balking │ │ ├── README.md │ │ └── etc │ │ │ └── balking.png │ ├── bridge │ │ ├── README.md │ │ └── etc │ │ │ └── bridge.urm.png │ ├── builder │ │ ├── README.md │ │ └── etc │ │ │ └── builder.urm.png │ ├── business-delegate │ │ ├── README.md │ │ └── etc │ │ │ └── business-delegate.urm.png │ ├── bytecode │ │ ├── README.md │ │ └── etc │ │ │ └── bytecode.urm.png │ ├── chain-of-responsibility │ │ ├── README.md │ │ └── etc │ │ │ └── chain-of-responsibility.urm.png │ ├── client-session │ │ ├── README.md │ │ └── etc │ │ │ └── session_state_pattern.png │ ├── collecting-parameter │ │ ├── README.md │ │ └── etc │ │ │ └── collecting-parameter.urm.png │ ├── command │ │ ├── README.md │ │ └── etc │ │ │ └── command.png │ ├── commander │ │ ├── README.md │ │ └── etc │ │ │ └── commander.urm.png │ ├── composite-entity │ │ ├── README.md │ │ └── etc │ │ │ └── composite_entity.urm.png │ ├── composite-view │ │ ├── README.md │ │ └── etc │ │ │ ├── composite_view.png │ │ │ └── images │ │ │ ├── noparam.png │ │ │ └── threeparams.png │ ├── composite │ │ ├── README.md │ │ └── etc │ │ │ └── composite.urm.png │ ├── context-object │ │ ├── README.md │ │ └── etc │ │ │ └── context-object.png │ ├── converter │ │ ├── README.md │ │ └── etc │ │ │ └── converter.png │ ├── crtp │ │ ├── README.md │ │ └── etc │ │ │ └── crtp.png │ ├── data-locality │ │ ├── README.md │ │ └── etc │ │ │ └── data-locality.urm.png │ ├── decorator │ │ ├── README.md │ │ └── etc │ │ │ └── decorator.urm.png │ ├── delegation │ │ ├── README.md │ │ └── etc │ │ │ └── delegation.png │ ├── dependency-injection │ │ ├── README.md │ │ └── etc │ │ │ └── dependency-injection.png │ ├── dirty-flag │ │ ├── README.md │ │ └── etc │ │ │ └── dirty-flag.png │ ├── double-buffer │ │ ├── README.md │ │ └── etc │ │ │ └── double-buffer.urm.png │ ├── embedded-value │ │ ├── README.md │ │ └── etc │ │ │ └── embedded-value.urm.png │ ├── event-aggregator │ │ ├── README.md │ │ └── etc │ │ │ └── classes.png │ ├── extension-objects │ │ ├── README.md │ │ └── etc │ │ │ └── extension_obj.png │ ├── facade │ │ ├── README.md │ │ └── etc │ │ │ └── facade.urm.png │ ├── factory-kit │ │ ├── README.md │ │ └── etc │ │ │ └── factory-kit.png │ ├── factory-method │ │ ├── README.md │ │ └── etc │ │ │ └── factory-method.urm.png │ ├── factory │ │ ├── README.md │ │ └── etc │ │ │ └── factory.urm.png │ ├── feature-toggle │ │ ├── README.md │ │ └── etc │ │ │ └── feature-toggle.png │ ├── flux │ │ ├── README.md │ │ └── etc │ │ │ └── flux.png │ ├── flyweight │ │ ├── README.md │ │ └── etc │ │ │ └── flyweight.urm.png │ ├── front-controller │ │ ├── README.md │ │ └── etc │ │ │ └── front-controller.png │ ├── game-loop │ │ ├── README.md │ │ └── etc │ │ │ └── game-loop.urm.png │ ├── gateway │ │ ├── README.md │ │ └── etc │ │ │ └── gateway.urm.png │ ├── health-check │ │ ├── README.md │ │ └── etc │ │ │ └── health-check.png │ ├── identity-map │ │ ├── README.md │ │ └── etc │ │ │ └── IdentityMap.png │ ├── intercepting-filter │ │ ├── README.md │ │ └── etc │ │ │ └── intercepting-filter.png │ ├── interpreter │ │ ├── README.md │ │ └── etc │ │ │ └── interpreter_1.png │ ├── iterator │ │ ├── README.md │ │ └── etc │ │ │ └── iterator_1.png │ ├── layers │ │ ├── README.md │ │ └── etc │ │ │ └── layers.png │ ├── lazy-loading │ │ ├── README.md │ │ └── etc │ │ │ └── lazy-loading.png │ ├── leader-election │ │ ├── README.md │ │ └── etc │ │ │ └── leader-election.urm.png │ ├── map-reduce │ │ └── README.md │ ├── marker │ │ ├── README.md │ │ └── etc │ │ │ └── MarkerDiagram.png │ ├── mediator │ │ ├── README.md │ │ └── etc │ │ │ └── mediator_1.png │ ├── memento │ │ ├── README.md │ │ └── etc │ │ │ └── memento.png │ ├── module │ │ ├── README.md │ │ └── etc │ │ │ └── module.png │ ├── monostate │ │ ├── README.md │ │ └── etc │ │ │ └── monostate.png │ ├── multiton │ │ ├── README.md │ │ └── etc │ │ │ └── multiton.png │ ├── null-object │ │ ├── README.md │ │ └── etc │ │ │ └── null-object.png │ ├── object-mother │ │ ├── README.md │ │ └── etc │ │ │ └── object-mother.png │ ├── object-pool │ │ ├── README.md │ │ └── etc │ │ │ └── object-pool.png │ ├── observer │ │ ├── README.md │ │ └── etc │ │ │ └── observer.png │ ├── page-controller │ │ ├── README.md │ │ └── etc │ │ │ └── page-controller.urm.png │ ├── page-object │ │ ├── README.md │ │ └── etc │ │ │ └── page-object.png │ ├── parameter-object │ │ ├── README.md │ │ └── etc │ │ │ └── parameter-object.png │ ├── partial-response │ │ ├── README.md │ │ └── etc │ │ │ └── partial-response.urm.png │ ├── pipeline │ │ ├── README.md │ │ └── etc │ │ │ └── pipeline.urm.png │ ├── poison-pill │ │ ├── README.md │ │ └── etc │ │ │ └── poison-pill.png │ ├── presentation-model │ │ ├── README.md │ │ └── etc │ │ │ ├── presentation-model.urm.png │ │ │ └── result.png │ ├── priority-queue │ │ ├── README.md │ │ └── etc │ │ │ └── priority-queue.urm.png │ ├── property │ │ ├── README.md │ │ └── etc │ │ │ └── property.png │ ├── prototype │ │ ├── README.md │ │ └── etc │ │ │ └── prototype.urm.png │ ├── proxy │ │ ├── README.md │ │ └── etc │ │ │ └── proxy.urm.png │ ├── registry │ │ ├── README.md │ │ └── etc │ │ │ └── registry.png │ ├── retry │ │ ├── README.md │ │ └── etc │ │ │ └── retry.png │ ├── role-object │ │ ├── README.md │ │ └── etc │ │ │ └── role-object.urm.png │ ├── separated-interface │ │ ├── README.md │ │ └── etc │ │ │ └── class_diagram.png │ ├── servant │ │ ├── README.md │ │ └── etc │ │ │ └── servant-pattern.png │ ├── sharding │ │ ├── README.md │ │ └── etc │ │ │ └── sharding.urm.png │ ├── single-table-inheritance │ │ ├── README.md │ │ └── etc │ │ │ └── single-table-inheritance.urm.png │ ├── singleton │ │ ├── README.md │ │ └── etc │ │ │ └── singleton.urm.png │ ├── spatial-partition │ │ ├── README.md │ │ └── etc │ │ │ └── spatial-partition.urm.png │ ├── special-case │ │ ├── README.md │ │ └── etc │ │ │ └── special_case_urm.png │ ├── specification │ │ ├── README.md │ │ └── etc │ │ │ └── specification.png │ ├── state │ │ ├── README.md │ │ └── etc │ │ │ └── state_urm.png │ ├── step-builder │ │ ├── README.md │ │ └── etc │ │ │ └── step-builder.png │ ├── strangler │ │ ├── README.md │ │ └── etc │ │ │ └── strangler.png │ ├── strategy │ │ ├── README.md │ │ └── etc │ │ │ └── strategy_urm.png │ ├── subclass-sandbox │ │ ├── README.md │ │ └── etc │ │ │ └── subclass-sandbox.urm.png │ ├── table-module │ │ ├── README.md │ │ └── etc │ │ │ └── table-module.urm.png │ ├── template-method │ │ ├── README.md │ │ └── etc │ │ │ └── template_method_urm.png │ ├── throttling │ │ ├── README.md │ │ └── etc │ │ │ └── throttling_urm.png │ ├── trampoline │ │ ├── README.md │ │ └── etc │ │ │ └── trampoline.urm.png │ ├── transaction-script │ │ ├── README.md │ │ └── etc │ │ │ └── transaction-script.png │ ├── twin │ │ ├── README.md │ │ └── etc │ │ │ └── twin.png │ ├── typeobjectpattern │ │ ├── README.md │ │ └── etc │ │ │ └── typeobjectpattern.urm.png │ ├── update-method │ │ ├── README.md │ │ └── etc │ │ │ └── update-method.urm.png │ ├── value-object │ │ ├── README.md │ │ └── etc │ │ │ └── value-object.png │ └── visitor │ │ ├── README.md │ │ └── etc │ │ ├── visitor.png │ │ └── visitor_1.png ├── fa │ ├── abstract-document │ │ ├── README.md │ │ └── etc │ │ │ └── abstract-document.png │ ├── active-object │ │ ├── README.md │ │ └── etc │ │ │ ├── active-object-sequence-diagram.png │ │ │ ├── active-object.urm.png │ │ │ └── active-object.urm.puml │ └── factory │ │ ├── README.md │ │ └── etc │ │ └── factory-sequence-diagram.png ├── fr │ ├── README.md │ ├── abstract-document │ │ └── README.md │ ├── abstract-factory │ │ └── README.md │ ├── active-object │ │ └── README.md │ ├── acyclic-visitore │ │ └── README.md │ ├── adapter │ │ └── README.md │ ├── aggregator-microservices │ │ └── README.md │ ├── ambassador │ │ └── README.md │ ├── anti-corruption-layer │ │ └── README.md │ ├── api-gateway │ │ └── README.md │ ├── arrange-act-assert │ │ └── README.md │ ├── async-method-invocation │ │ └── README.md │ ├── balking │ │ └── README.md │ ├── bridge │ │ └── README.md │ ├── builder │ │ └── README.md │ └── business-delegate │ │ └── README.md ├── hi │ ├── README.md │ ├── abstract-document │ │ └── README.md │ ├── abstract-factory │ │ └── README.md │ ├── active-object │ │ └── README.md │ ├── acyclic-visitor │ │ └── README.md │ ├── adapter │ │ └── README.md │ ├── aggregator-microservices │ │ └── README.md │ ├── ambassador │ │ └── README.md │ ├── api-gateway │ │ └── README.md │ ├── arrange-act-assert │ │ └── README.md │ ├── async-method-invocation │ │ └── README.md │ ├── balking │ │ └── README.md │ ├── bridge │ │ └── README.md │ ├── builder │ │ └── README.md │ ├── business-delegate │ │ └── README.md │ ├── bytecode │ │ └── README.md │ ├── caching │ │ └── README.md │ ├── callback │ │ └── README.md │ ├── chain-of-responsibility │ │ └── README.md │ ├── circuit-breaker │ │ └── README.md │ ├── client-session │ │ └── README.md │ ├── collecting-parameter │ │ └── README.md │ ├── collection-pipeline │ │ └── README.md │ ├── combinator │ │ └── README.md │ ├── command │ │ └── README.md │ ├── factory-method │ │ └── README.md │ └── module │ │ └── README.md ├── id │ ├── README.md │ └── decorator │ │ ├── README.md │ │ └── etc │ │ └── decorator.urm.png ├── it │ ├── README.md │ ├── abstract-document │ │ └── README.md │ ├── abstract-factory │ │ └── README.md │ ├── active-object │ │ └── README.md │ ├── acyclic-visitor │ │ └── README.md │ ├── adapter │ │ └── README.md │ ├── iterator │ │ └── README.md │ └── observer │ │ └── README.md ├── ja │ ├── README.md │ └── decorator │ │ ├── README.md │ │ └── etc │ │ └── decorator.urm.png ├── ko │ ├── README.md │ ├── adapter │ │ ├── README.md │ │ └── etc │ │ │ └── adapter.urm.png │ ├── builder │ │ ├── README.md │ │ └── etc │ │ │ └── builder.urm.png │ ├── callback │ │ ├── README.md │ │ └── etc │ │ │ └── callback.png │ ├── decorater │ │ ├── README.md │ │ └── etc │ │ │ └── decorator.urm.png │ ├── event-driven-architecture │ │ ├── README.md │ │ └── etc │ │ │ └── eda.png │ ├── event-sourcing │ │ ├── README.md │ │ └── etc │ │ │ └── event-sourcing.png │ ├── facade │ │ ├── README.md │ │ └── etc │ │ │ └── facade.urm.png │ ├── factory-method │ │ ├── README.md │ │ └── etc │ │ │ └── factory-method.urm.png │ ├── factory │ │ ├── README.md │ │ └── etc │ │ │ └── factory.urm.png │ ├── iterator │ │ ├── README.md │ │ └── etc │ │ │ └── iterator_1.png │ ├── observer │ │ ├── README.md │ │ └── etc │ │ │ └── observer.png │ ├── prototype │ │ ├── README.md │ │ └── etc │ │ │ └── prototype.urm.png │ ├── proxy │ │ ├── README.md │ │ └── etc │ │ │ └── proxy.urm.png │ ├── singleton │ │ ├── README.md │ │ └── etc │ │ │ └── singleton.urm.png │ ├── strategy │ │ ├── README.md │ │ └── etc │ │ │ └── strategy_urm.png │ ├── template-method │ │ ├── README.md │ │ └── etc │ │ │ └── template_method_urm.png │ └── visitor │ │ ├── README.md │ │ └── etc │ │ └── visitor_1.png ├── mr │ └── README.md ├── ne │ └── README.md ├── pt │ ├── README.md │ ├── abstract-factory │ │ └── README.md │ ├── adapter │ │ └── README.md │ ├── builder │ │ └── README.md │ ├── caching │ │ └── README.md │ ├── chain-of-responsability │ │ └── README.md │ ├── facade │ │ └── README.md │ ├── factory │ │ └── README.md │ ├── proxy │ │ └── README.md │ └── singleton │ │ └── README.md ├── ru │ ├── README.md │ └── abstract-factory │ │ └── README.md ├── si │ └── README.md ├── tr │ ├── README.md │ └── singleton │ │ ├── README.md │ │ └── etc │ │ └── singleton.urm.png ├── ur │ ├── README.md │ ├── abstract-document │ │ └── README.md │ ├── abstract-factory │ │ └── README.md │ ├── active-object │ │ └── README.md │ └── acyclic-visitor │ │ └── README.md ├── vi │ ├── README.md │ ├── abstract-document │ │ └── README.md │ ├── abstract-factory │ │ └── README.md │ ├── active-object │ │ └── README.md │ ├── acyclic-visitor │ │ └── README.md │ ├── adapter │ │ └── README.md │ ├── aggregator-microservices │ │ └── README.md │ ├── builder │ │ └── README.md │ └── game-loop │ │ └── README.md └── zh │ ├── README.md │ ├── abstract-document │ ├── README.md │ └── etc │ │ └── abstract-document.png │ ├── abstract-factory │ ├── README.md │ └── etc │ │ └── abstract-factory.urm.png │ ├── active-object │ ├── README.md │ └── etc │ │ └── active-object.urm.png │ ├── acyclic-visitor │ ├── README.md │ └── etc │ │ └── acyclic-visitor.png │ ├── adapter │ ├── README.md │ └── etc │ │ └── adapter.urm.png │ ├── aggregator-microservices │ ├── README.md │ └── etc │ │ └── aggregator-service.png │ ├── ambassador │ ├── README.md │ └── etc │ │ └── ambassador.urm.png │ ├── api-gateway │ ├── README.md │ └── etc │ │ └── api-gateway.png │ ├── arrange-act-assert │ └── README.md │ ├── async-method-invocation │ ├── README.md │ └── etc │ │ └── async-method-invocation.png │ ├── balking │ ├── README.md │ └── etc │ │ └── balking.png │ ├── bridge │ ├── README.md │ └── etc │ │ └── bridge.urm.png │ ├── builder │ ├── README.md │ └── etc │ │ └── builder.urm.png │ ├── business-delegate │ ├── README.md │ └── etc │ │ └── business-delegate.urm.png │ ├── bytecode │ ├── README.md │ └── etc │ │ └── bytecode.urm.png │ ├── caching │ ├── README.md │ └── etc │ │ └── caching.png │ ├── callback │ ├── README.md │ └── etc │ │ └── callback.png │ ├── chain │ ├── README.md │ └── etc │ │ └── chain-of-responsibility.urm.png │ ├── circuit-breaker │ ├── README.md │ └── etc │ │ ├── ServiceDiagram.png │ │ ├── StateDiagram.png │ │ └── circuit-breaker.urm.png │ ├── cloud-static-content-hosting │ ├── README.md │ └── etc │ │ └── static-content-hosting.png │ ├── collection-pipeline │ ├── README.md │ └── etc │ │ └── collection-pipeline.png │ ├── combinator │ ├── README.md │ └── etc │ │ └── combinator.urm.png │ ├── command │ ├── README.md │ └── etc │ │ └── command.png │ ├── commander │ ├── README.md │ └── etc │ │ └── commander.urm.png │ ├── composite-entity │ ├── README.md │ └── etc │ │ └── composite_entity.urm.png │ ├── composite │ ├── README.md │ └── etc │ │ └── composite.urm.png │ ├── converter │ ├── README.md │ └── etc │ │ └── converter.png │ ├── crtp │ ├── README.md │ └── etc │ │ └── crtp.png │ ├── dao │ ├── README.md │ └── etc │ │ └── dao.png │ ├── data-bus │ ├── README.md │ └── etc │ │ └── data-bus.urm.png │ ├── data-mapper │ ├── README.md │ └── etc │ │ └── data-mapper.png │ ├── data-transfer-object │ ├── README.md │ └── etc │ │ └── data-transfer-object.urm.png │ ├── decorator │ ├── README.md │ └── etc │ │ └── decorator.urm.png │ ├── delegation │ ├── README.md │ └── etc │ │ └── delegation.png │ ├── dependency-injection │ ├── README.md │ └── etc │ │ └── dependency-injection.png │ ├── dirty-flag │ ├── README.md │ └── etc │ │ └── dirty-flag.png │ ├── double-checked-locking │ ├── README.md │ └── etc │ │ └── double_checked_locking_1.png │ ├── facade │ ├── README.md │ └── etc │ │ └── facade.urm.png │ ├── factory-kit │ ├── README.md │ └── etc │ │ └── factory-kit.png │ ├── factory-method │ ├── README.md │ └── etc │ │ └── factory-method.urm.png │ ├── factory │ ├── README.md │ └── etc │ │ └── factory.urm.png │ ├── interpreter │ ├── README.md │ └── etc │ │ └── interpreter_1.png │ ├── iterator │ ├── README.md │ └── etc │ │ └── iterator_1.png │ ├── monitor │ ├── README.md │ └── etc │ │ └── monitor.urm.png │ ├── observer │ ├── README.md │ └── etc │ │ └── observer.png │ ├── private-class-data │ ├── README.md │ └── etc │ │ └── private-class-data.png │ ├── producer-consumer │ ├── README.md │ └── etc │ │ └── producer-consumer.png │ ├── proxy │ ├── README.md │ └── etc │ │ └── proxy.urm.png │ ├── servant │ ├── README.md │ └── etc │ │ └── servant-pattern.png │ ├── sharding │ ├── README.md │ └── etc │ │ └── sharding.urm.png │ ├── singleton │ ├── README.md │ └── etc │ │ └── singleton.urm.png │ ├── state │ ├── README.md │ └── etc │ │ └── state_urm.png │ ├── step-builder │ ├── README.md │ └── etc │ │ └── step-builder.png │ ├── strategy │ ├── README.md │ └── etc │ │ └── strategy_urm.png │ ├── table-module │ ├── README.md │ └── etc │ │ └── table-module.urm.png │ ├── template-method │ ├── README.md │ └── etc │ │ └── template_method_urm.png │ ├── trampoline │ ├── README.md │ └── etc │ │ └── trampoline_urm.png │ ├── unit-of-work │ ├── README.md │ └── etc │ │ └── unit-of-work.urm.png │ ├── update-method │ ├── README.md │ └── etc │ │ └── update-method.urm.png │ ├── value-object │ ├── README.md │ └── etc │ │ └── value-object.png │ ├── version-number │ ├── README.md │ └── etc │ │ └── version-number.urm.png │ └── visitor │ ├── README.md │ └── etc │ └── visitor_1.png ├── lockable-object ├── README.md ├── etc │ ├── lockable-object-sequence-diagram.png │ ├── lockable-object.urm.png │ └── lockable-object.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── lockableobject │ │ ├── App.java │ │ ├── Lockable.java │ │ ├── LockingException.java │ │ ├── SwordOfAragorn.java │ │ └── domain │ │ ├── Creature.java │ │ ├── CreatureStats.java │ │ ├── CreatureType.java │ │ ├── Elf.java │ │ ├── Feind.java │ │ ├── Human.java │ │ └── Orc.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── lockableobject │ ├── AppTest.java │ ├── CreatureTest.java │ ├── ExceptionsTest.java │ ├── FeindTest.java │ ├── SubCreaturesTests.java │ └── TheSwordOfAragornTest.java ├── lombok.config ├── map-reduce ├── README.md ├── etc │ ├── map-reduce.png │ ├── map-reduce.urm.puml │ └── mapreduce-flowchart.png ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ ├── Main.java │ │ ├── MapReduce.java │ │ ├── Mapper.java │ │ ├── Reducer.java │ │ └── Shuffler.java │ └── test │ └── java │ └── com │ └── iluwatar │ ├── MapReduceTest.java │ ├── MapperTest.java │ ├── ReducerTest.java │ └── ShufflerTest.java ├── marker-interface ├── .gitignore ├── README.md ├── etc │ ├── MarkerDiagram.png │ ├── MarkerDiagram.ucls │ ├── marker-interface-flowchart.png │ ├── marker-interface.urm.puml │ └── marker.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ ├── App.java │ │ ├── Guard.java │ │ ├── Permission.java │ │ └── Thief.java │ └── test │ └── java │ ├── AppTest.java │ ├── GuardTest.java │ └── ThiefTest.java ├── master-worker ├── README.md ├── etc │ ├── master-worker-pattern.urm.png │ ├── master-worker-pattern.urm.puml │ ├── master-worker-sequence-diagram.png │ └── master-worker.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── masterworker │ │ ├── App.java │ │ ├── ArrayInput.java │ │ ├── ArrayResult.java │ │ ├── ArrayUtilityMethods.java │ │ ├── Input.java │ │ ├── Result.java │ │ └── system │ │ ├── ArrayTransposeMasterWorker.java │ │ ├── MasterWorker.java │ │ ├── systemmaster │ │ ├── ArrayTransposeMaster.java │ │ └── Master.java │ │ └── systemworkers │ │ ├── ArrayTransposeWorker.java │ │ └── Worker.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── masterworker │ ├── ArrayInputTest.java │ ├── ArrayUtilityMethodsTest.java │ └── system │ ├── ArrayTransposeMasterWorkerTest.java │ └── systemworkers │ └── ArrayTransposeWorkerTest.java ├── mediator ├── README.md ├── etc │ ├── mediator-sequence-diagram.png │ ├── mediator.png │ ├── mediator.ucls │ ├── mediator.urm.puml │ └── mediator_1.png ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── mediator │ │ ├── Action.java │ │ ├── App.java │ │ ├── Hobbit.java │ │ ├── Hunter.java │ │ ├── Party.java │ │ ├── PartyImpl.java │ │ ├── PartyMember.java │ │ ├── PartyMemberBase.java │ │ ├── Rogue.java │ │ └── Wizard.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── mediator │ ├── AppTest.java │ ├── PartyImplTest.java │ └── PartyMemberTest.java ├── memento ├── README.md ├── etc │ ├── memento-sequence-diagram.png │ ├── memento.png │ ├── memento.ucls │ └── memento.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── memento │ │ ├── App.java │ │ ├── Star.java │ │ ├── StarMemento.java │ │ └── StarType.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── memento │ ├── AppTest.java │ └── StarTest.java ├── metadata-mapping ├── README.md ├── etc │ ├── metadata-mapping-flowchart.png │ ├── metadata-mapping.urm.puml │ ├── metamapping.png │ └── metamapping.puml ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── iluwatar │ │ │ └── metamapping │ │ │ ├── App.java │ │ │ ├── model │ │ │ └── User.java │ │ │ ├── service │ │ │ └── UserService.java │ │ │ └── utils │ │ │ ├── DatabaseUtil.java │ │ │ └── HibernateUtil.java │ └── resources │ │ ├── com │ │ └── iluwatar │ │ │ └── metamapping │ │ │ └── model │ │ │ └── User.hbm.xml │ │ ├── hibernate.cfg.xml │ │ └── logback.xml │ └── test │ └── java │ └── com │ └── iluwatar │ └── metamapping │ └── AppTest.java ├── microservices-aggregrator ├── README.md ├── aggregator-service │ ├── etc │ │ ├── aggregator-service.png │ │ └── aggregator-service.urm.puml │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── iluwatar │ │ │ │ └── aggregator │ │ │ │ └── microservices │ │ │ │ ├── Aggregator.java │ │ │ │ ├── App.java │ │ │ │ ├── Product.java │ │ │ │ ├── ProductInformationClient.java │ │ │ │ ├── ProductInformationClientImpl.java │ │ │ │ ├── ProductInventoryClient.java │ │ │ │ └── ProductInventoryClientImpl.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── iluwatar │ │ └── aggregator │ │ └── microservices │ │ └── AggregatorTest.java ├── etc │ ├── aggregator-microservices.urm.puml │ ├── microservices-aggregator-architecture-diagram.png │ └── microservices-aggregrator.urm.puml ├── information-microservice │ ├── etc │ │ └── information-microservice.urm.puml │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── iluwatar │ │ │ │ └── information │ │ │ │ └── microservice │ │ │ │ ├── InformationApplication.java │ │ │ │ └── InformationController.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── iluwatar │ │ └── information │ │ └── microservice │ │ └── InformationControllerTest.java ├── inventory-microservice │ ├── etc │ │ └── inventory-microservice.urm.puml │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── iluwatar │ │ │ │ └── inventory │ │ │ │ └── microservice │ │ │ │ ├── InventoryApplication.java │ │ │ │ └── InventoryController.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── iluwatar │ │ └── inventory │ │ └── microservice │ │ └── InventoryControllerTest.java └── pom.xml ├── microservices-api-gateway ├── README.md ├── api-gateway-service │ ├── etc │ │ └── api-gateway-service.urm.puml │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── iluwatar │ │ │ │ └── api │ │ │ │ └── gateway │ │ │ │ ├── ApiGateway.java │ │ │ │ ├── App.java │ │ │ │ ├── DesktopProduct.java │ │ │ │ ├── ImageClient.java │ │ │ │ ├── ImageClientImpl.java │ │ │ │ ├── MobileProduct.java │ │ │ │ ├── PriceClient.java │ │ │ │ └── PriceClientImpl.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── iluwatar │ │ └── api │ │ └── gateway │ │ └── ApiGatewayTest.java ├── etc │ ├── api-gateway.png │ ├── api-gateway.ucls │ ├── api-gateway.urm.puml │ ├── microservices-api-gateway-sequence-diagram.png │ └── microservices-api-gateway.urm.puml ├── image-microservice │ ├── etc │ │ ├── image-microservice.png │ │ ├── image-microservice.ucls │ │ └── image-microservice.urm.puml │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── iluwatar │ │ │ │ └── image │ │ │ │ └── microservice │ │ │ │ ├── ImageApplication.java │ │ │ │ └── ImageController.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── iluwatar │ │ └── image │ │ └── microservice │ │ └── ImageControllerTest.java ├── pom.xml └── price-microservice │ ├── etc │ ├── price-microservice.png │ ├── price-microservice.ucls │ └── price-microservice.urm.puml │ ├── pom.xml │ └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── iluwatar │ │ │ └── price │ │ │ └── microservice │ │ │ ├── PriceApplication.java │ │ │ ├── PriceController.java │ │ │ ├── PriceService.java │ │ │ └── PriceServiceImpl.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── iluwatar │ └── price │ └── microservice │ ├── PriceControllerTest.java │ └── PriceServiceTest.java ├── microservices-client-side-ui-composition ├── README.md ├── etc │ ├── client-side-ui-composition.urm.puml │ ├── microservices-client-side-ui-composition-sequence-diagram.png │ └── microservices-client-side-ui-composition.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── clientsideuicomposition │ │ ├── ApiGateway.java │ │ ├── CartFrontend.java │ │ ├── ClientSideIntegrator.java │ │ ├── FrontendComponent.java │ │ └── ProductFrontend.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── clientsideuicomposition │ └── ClientSideCompositionTest.java ├── microservices-distributed-tracing ├── README.md ├── etc │ ├── microservices-distributed-tracing-sequence-diagram.png │ ├── microservices-distributed-tracing.png │ ├── microservices-distributed-tracing.puml │ └── microservices-distributed-tracing.urm.puml ├── order-microservice │ ├── etc │ │ ├── order-microservice.png │ │ ├── order-microservice.puml │ │ └── order-microservice.urm.puml │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── iluwatar │ │ │ │ └── order │ │ │ │ └── microservice │ │ │ │ ├── Main.java │ │ │ │ ├── OrderController.java │ │ │ │ └── OrderService.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── iluwatar │ │ └── order │ │ └── microservice │ │ ├── MainTest.java │ │ ├── OrderControllerTest.java │ │ └── OrderServiceTest.java ├── payment-microservice │ ├── etc │ │ ├── payment-microservice.png │ │ ├── payment-microservice.puml │ │ └── payment-microservice.urm.puml │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── iluwatar │ │ │ │ └── payment │ │ │ │ └── microservice │ │ │ │ ├── Main.java │ │ │ │ └── PaymentController.java │ │ └── resources │ │ │ └── application.properties │ │ └── test │ │ └── java │ │ └── com │ │ └── iluwatar │ │ └── payment │ │ └── microservice │ │ ├── MainTest.java │ │ └── ProductControllerTest.java ├── pom.xml └── product-microservice │ ├── etc │ ├── product-microservice.png │ ├── product-microservice.puml │ └── product-microservice.urm.puml │ ├── pom.xml │ └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── iluwatar │ │ │ └── product │ │ │ └── microservice │ │ │ └── microservice │ │ │ ├── Main.java │ │ │ └── ProductController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── iluwatar │ └── product │ └── microservice │ ├── MainTest.java │ └── ProductControllerTest.java ├── microservices-idempotent-consumer ├── README.md ├── etc │ ├── microservices-idempotent-consumer-flowchart.png │ └── microservices-idempotent-consumer.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── idempotentconsumer │ │ ├── App.java │ │ ├── InvalidNextStateException.java │ │ ├── Request.java │ │ ├── RequestNotFoundException.java │ │ ├── RequestRepository.java │ │ ├── RequestService.java │ │ └── RequestStateMachine.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── idempotentconsumer │ ├── AppTest.java │ ├── RequestServiceTests.java │ └── RequestStateMachineTests.java ├── microservices-log-aggregation ├── README.md ├── etc │ ├── log-aggregation.png │ ├── log-aggregation.puml │ ├── log-aggregation.urm.puml │ ├── microservices-log-aggregation-flowchart.png │ └── microservices-log-aggregation.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── logaggregation │ │ ├── App.java │ │ ├── CentralLogStore.java │ │ ├── LogAggregator.java │ │ ├── LogEntry.java │ │ ├── LogLevel.java │ │ └── LogProducer.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── logaggregation │ └── LogAggregatorTest.java ├── model-view-controller ├── README.md ├── etc │ ├── model-view-controller.png │ ├── model-view-controller.ucls │ ├── model-view-controller.urm.puml │ └── mvc-architecture-diagram.png ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── model │ │ └── view │ │ └── controller │ │ ├── App.java │ │ ├── Fatigue.java │ │ ├── GiantController.java │ │ ├── GiantModel.java │ │ ├── GiantView.java │ │ ├── Health.java │ │ └── Nourishment.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── model │ └── view │ └── controller │ ├── AppTest.java │ ├── GiantControllerTest.java │ ├── GiantModelTest.java │ └── GiantViewTest.java ├── model-view-intent ├── README.md ├── etc │ ├── model-view-intent.png │ ├── model-view-intent.urm.puml │ └── mvi-architecture-diagram.png ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── model │ │ └── view │ │ └── intent │ │ ├── App.java │ │ ├── CalculatorModel.java │ │ ├── CalculatorView.java │ │ ├── CalculatorViewModel.java │ │ ├── actions │ │ ├── AdditionCalculatorAction.java │ │ ├── CalculatorAction.java │ │ ├── DivisionCalculatorAction.java │ │ ├── MultiplicationCalculatorAction.java │ │ ├── SetVariableCalculatorAction.java │ │ ├── SubtractionCalculatorAction.java │ │ └── package-info.java │ │ └── package-info.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── model │ └── view │ └── intent │ ├── AppTest.java │ └── CalculatorViewModelTest.java ├── model-view-presenter ├── README.md ├── etc │ ├── data │ │ └── test.txt │ ├── model-view-presenter.png │ ├── model-view-presenter.ucls │ ├── model-view-presenter.urm.puml │ ├── model-view-presenter_1.png │ └── mvp-architecture-diagram.png ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── model │ │ └── view │ │ └── presenter │ │ ├── App.java │ │ ├── FileLoader.java │ │ ├── FileSelectorJframe.java │ │ ├── FileSelectorPresenter.java │ │ ├── FileSelectorStub.java │ │ └── FileSelectorView.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── model │ └── view │ └── presenter │ ├── AppTest.java │ ├── FileLoaderTest.java │ ├── FileSelectorJframeTest.java │ └── FileSelectorPresenterTest.java ├── model-view-viewmodel ├── README.md ├── etc │ ├── model-view-viewmodel.png │ ├── model-view-viewmodel.urm.puml │ └── mvvm-architecture-diagram.png ├── lombok.config ├── pom.xml └── src │ ├── main │ ├── assembly │ │ └── webapp.xml │ ├── java │ │ └── com │ │ │ └── iluwatar │ │ │ └── model │ │ │ └── view │ │ │ └── viewmodel │ │ │ ├── Book.java │ │ │ ├── BookService.java │ │ │ ├── BookServiceImpl.java │ │ │ └── BookViewModel.java │ └── webapp │ │ ├── META-INF │ │ └── MANIFEST.MF │ │ ├── WEB-INF │ │ └── web.xml │ │ └── index.zul │ └── test │ └── java │ └── com │ └── iluwatar │ └── model │ └── view │ └── viewmodel │ └── BookTest.java ├── monad ├── README.md ├── etc │ ├── monad-flowchart.png │ ├── monad.png │ ├── monad.ucls │ └── monad.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── monad │ │ ├── App.java │ │ ├── Sex.java │ │ ├── User.java │ │ └── Validator.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── monad │ ├── AppTest.java │ └── MonadTest.java ├── money ├── README.md ├── etc │ ├── money-flowchart.png │ ├── money-mind-map.png │ └── money.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ ├── App.java │ │ ├── CannotAddTwoCurrienciesException.java │ │ ├── CannotSubtractException.java │ │ └── Money.java │ └── test │ └── java │ └── com │ └── iluwater │ └── money │ └── MoneyTest.java ├── monitor ├── README.md ├── etc │ ├── monitor-sequence-diagram.png │ ├── monitor.urm.png │ └── monitor.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── monitor │ │ ├── Bank.java │ │ └── Main.java │ └── test │ ├── java │ └── com │ │ └── iluwatar │ │ └── monitor │ │ ├── BankTest.java │ │ └── MainTest.java │ └── resources │ └── logback.xml ├── monolithic-architecture ├── README.md ├── etc │ ├── Monolithic-Ecommerce.urm.puml │ ├── monolithic-architecture-flowchart.png │ ├── monolithic-architecture-mind-map.png │ ├── monolithic-architecture.urm.puml │ └── mvc-architecture-diagram.png ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── iluwatar │ │ │ └── monolithic │ │ │ ├── EcommerceApp.java │ │ │ ├── controller │ │ │ ├── OrderController.java │ │ │ ├── ProductController.java │ │ │ └── UserController.java │ │ │ ├── exceptions │ │ │ ├── InsufficientStockException.java │ │ │ ├── NonExistentProductException.java │ │ │ └── NonExistentUserException.java │ │ │ ├── model │ │ │ ├── Order.java │ │ │ ├── Product.java │ │ │ └── User.java │ │ │ └── repository │ │ │ ├── OrderRepository.java │ │ │ ├── ProductRepository.java │ │ │ └── UserRepository.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── iluwatar │ └── monolithic │ └── MonolithicAppTest.java ├── monostate ├── README.md ├── etc │ ├── MonoState.ucls │ ├── monostate-flowchart.png │ ├── monostate.png │ └── monostate.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── monostate │ │ ├── App.java │ │ ├── LoadBalancer.java │ │ ├── Request.java │ │ └── Server.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── monostate │ ├── AppTest.java │ └── LoadBalancerTest.java ├── multiton ├── README.md ├── etc │ ├── multiton-flowchart.png │ ├── multiton.png │ ├── multiton.ucls │ └── multiton.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── multiton │ │ ├── App.java │ │ ├── Nazgul.java │ │ ├── NazgulEnum.java │ │ └── NazgulName.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── multiton │ ├── AppTest.java │ ├── NazgulEnumTest.java │ └── NazgulTest.java ├── mute-idiom ├── README.md ├── etc │ ├── mute-idiom-flowchart.png │ ├── mute-idiom.png │ ├── mute-idiom.ucls │ └── mute-idiom.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── mute │ │ ├── App.java │ │ ├── CheckedRunnable.java │ │ ├── Mute.java │ │ └── Resource.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── mute │ ├── AppTest.java │ └── MuteTest.java ├── mvnw ├── mvnw.cmd ├── naked-objects ├── README.md └── etc │ └── naked-objects-architecture-diagram.png ├── notification ├── README.md ├── etc │ ├── notification-sequence-diagram.png │ ├── notification.urm.png │ └── notification.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ ├── App.java │ │ ├── DataTransferObject.java │ │ ├── Notification.java │ │ ├── NotificationError.java │ │ ├── RegisterWorker.java │ │ ├── RegisterWorkerDto.java │ │ ├── RegisterWorkerForm.java │ │ ├── RegisterWorkerService.java │ │ └── ServerCommand.java │ └── test │ └── java │ └── com │ └── iluwatar │ ├── AppTest.java │ ├── RegisterWorkerFormTest.java │ └── RegisterWorkerTest.java ├── null-object ├── README.md ├── etc │ ├── null-object-sequence-diagram.png │ ├── null-object.png │ ├── null-object.ucls │ └── null-object.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── nullobject │ │ ├── App.java │ │ ├── Node.java │ │ ├── NodeImpl.java │ │ └── NullNode.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── nullobject │ ├── AppTest.java │ ├── NullNodeTest.java │ └── TreeTest.java ├── object-mother ├── README.md ├── etc │ ├── object-mother-flowchart.png │ ├── object-mother-mind-map.png │ ├── object-mother.png │ ├── object-mother.ucls │ └── object-mother.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── objectmother │ │ ├── King.java │ │ ├── Queen.java │ │ ├── Royalty.java │ │ └── RoyaltyObjectMother.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── objectmother │ └── test │ └── RoyaltyObjectMotherTest.java ├── object-pool ├── README.md ├── etc │ ├── object-pool-sequence-diagram.png │ ├── object-pool.png │ ├── object-pool.ucls │ └── object-pool.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── object │ │ └── pool │ │ ├── App.java │ │ ├── ObjectPool.java │ │ ├── Oliphaunt.java │ │ └── OliphauntPool.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── object │ └── pool │ ├── AppTest.java │ └── OliphauntPoolTest.java ├── observer ├── README.md ├── etc │ ├── observer-sequence-diagram.png │ ├── observer.png │ ├── observer.ucls │ ├── observer.urm.puml │ ├── observer_1.png │ └── observer_with_generics.png ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── observer │ │ ├── App.java │ │ ├── Hobbits.java │ │ ├── Orcs.java │ │ ├── Weather.java │ │ ├── WeatherObserver.java │ │ ├── WeatherType.java │ │ └── generic │ │ ├── GenHobbits.java │ │ ├── GenOrcs.java │ │ ├── GenWeather.java │ │ ├── Observable.java │ │ ├── Observer.java │ │ └── Race.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── observer │ ├── AppTest.java │ ├── HobbitsTest.java │ ├── OrcsTest.java │ ├── WeatherObserverTest.java │ ├── WeatherTest.java │ ├── generic │ ├── GHobbitsTest.java │ ├── GWeatherTest.java │ ├── ObserverTest.java │ └── OrcsTest.java │ └── utils │ └── InMemoryAppender.java ├── optimistic-offline-lock ├── README.md ├── etc │ ├── optimistic-offline-lock-sequence-diagram.png │ └── optimistic-offline-lock.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ ├── api │ │ └── UpdateService.java │ │ ├── exception │ │ └── ApplicationException.java │ │ ├── model │ │ └── Card.java │ │ ├── repository │ │ └── JpaRepository.java │ │ └── service │ │ └── CardUpdateService.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── OptimisticLockTest.java ├── page-controller ├── README.md ├── etc │ ├── page-controller-architecture-diagram.png │ ├── page-controller.urm.png │ └── page-controller.urm.puml ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── iluwatar │ │ │ └── page │ │ │ └── controller │ │ │ ├── App.java │ │ │ ├── SignupController.java │ │ │ ├── SignupModel.java │ │ │ ├── SignupView.java │ │ │ ├── UserController.java │ │ │ ├── UserModel.java │ │ │ └── UserView.java │ └── resources │ │ ├── application.properties │ │ └── templates │ │ ├── signup.html │ │ └── user.html │ └── test │ └── java │ └── com │ └── iluwatar │ └── page │ └── controller │ ├── AppTest.java │ ├── SignupControllerTest.java │ ├── SignupModelTest.java │ ├── UserControllerTest.java │ └── UserModelTest.java ├── page-object ├── README.md ├── etc │ ├── page-object-flowchart.png │ ├── page-object-mind-map.png │ ├── page-object.png │ ├── page-object.ucls │ └── page-object.urm.puml ├── pom.xml ├── sample-application │ ├── etc │ │ ├── page-object.png │ │ ├── page-object.ucls │ │ └── sample-application.urm.puml │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── iluwatar │ │ │ └── pageobject │ │ │ └── App.java │ │ └── resources │ │ └── sample-ui │ │ ├── album-list.html │ │ ├── album-page.html │ │ ├── css │ │ ├── album-list.css │ │ └── style.css │ │ └── login.html ├── src │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── iluwatar │ │ │ │ └── pageobject │ │ │ │ └── App.java │ │ └── resources │ │ │ └── sample-ui │ │ │ ├── album-list.html │ │ │ ├── album-page.html │ │ │ ├── css │ │ │ ├── album-list.css │ │ │ └── style.css │ │ │ └── login.html │ └── test │ │ └── java │ │ └── com │ │ └── iluwatar │ │ └── pageobject │ │ ├── AlbumListPageTest.java │ │ ├── AlbumPageTest.java │ │ ├── LoginPageTest.java │ │ └── pages │ │ ├── AlbumListPage.java │ │ ├── AlbumPage.java │ │ ├── LoginPage.java │ │ └── Page.java └── test-automation │ ├── etc │ └── test-automation.urm.puml │ ├── pom.xml │ └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── pageobject │ │ ├── AlbumListPage.java │ │ ├── AlbumPage.java │ │ ├── LoginPage.java │ │ └── Page.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── pageobject │ ├── AlbumListPageTest.java │ ├── AlbumPageTest.java │ └── LoginPageTest.java ├── parameter-object ├── README.md ├── etc │ ├── parameter-object-flowchart.png │ ├── parameter-object-mind-map.png │ ├── parameter-object.png │ └── parameter-object.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── parameter │ │ └── object │ │ ├── App.java │ │ ├── ParameterObject.java │ │ ├── SearchService.java │ │ └── SortOrder.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── parameter │ └── object │ ├── AppTest.java │ ├── ParameterObjectTest.java │ └── SearchServiceTest.java ├── partial-response ├── README.md ├── etc │ ├── partial-response-sequence-diagram.png │ ├── partial-response.ucls │ ├── partial-response.urm.png │ └── partial-response.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── partialresponse │ │ ├── App.java │ │ ├── FieldJsonMapper.java │ │ ├── Video.java │ │ └── VideoResource.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── partialresponse │ ├── AppTest.java │ ├── FieldJsonMapperTest.java │ └── VideoResourceTest.java ├── pipeline ├── README.md ├── etc │ ├── pipeline-flowchart.png │ ├── pipeline.urm.png │ └── pipeline.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── pipeline │ │ ├── App.java │ │ ├── ConvertToCharArrayHandler.java │ │ ├── Handler.java │ │ ├── Pipeline.java │ │ ├── RemoveAlphabetsHandler.java │ │ └── RemoveDigitsHandler.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── pipeline │ ├── AppTest.java │ └── PipelineTest.java ├── poison-pill ├── README.md ├── etc │ ├── poison-pill-sequence-diagram.png │ ├── poison-pill.png │ ├── poison-pill.ucls │ └── poison-pill.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── poison │ │ └── pill │ │ ├── App.java │ │ ├── Consumer.java │ │ ├── Message.java │ │ ├── MessageQueue.java │ │ ├── MqPublishPoint.java │ │ ├── MqSubscribePoint.java │ │ ├── Producer.java │ │ ├── SimpleMessage.java │ │ └── SimpleMessageQueue.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── poison │ └── pill │ ├── AppTest.java │ ├── ConsumerTest.java │ ├── PoisonMessageTest.java │ ├── ProducerTest.java │ └── SimpleMessageTest.java ├── pom.xml ├── presentation-model ├── README.md ├── etc │ ├── presentation-model-architecture-diagram.png │ ├── presentation-model.urm.png │ ├── presentation-model.urm.puml │ └── presentation.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── presentationmodel │ │ ├── Album.java │ │ ├── App.java │ │ ├── DisplayedAlbums.java │ │ ├── PresentationModel.java │ │ └── View.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── presentationmodel │ ├── AlbumTest.java │ ├── AppTest.java │ ├── DisplayedAlbumsTest.java │ ├── PresentationTest.java │ └── ViewTest.java ├── private-class-data ├── README.md ├── etc │ ├── private-class-data-flowchart.png │ ├── private-class-data-mind-map.png │ ├── private-class-data.png │ ├── private-class-data.ucls │ └── private-class-data.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── privateclassdata │ │ ├── App.java │ │ ├── ImmutableStew.java │ │ ├── Stew.java │ │ └── StewData.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── privateclassdata │ ├── AppTest.java │ ├── ImmutableStewTest.java │ ├── StewTest.java │ └── utils │ └── InMemoryAppender.java ├── producer-consumer ├── README.md ├── etc │ ├── producer-consumer-sequence-diagram.png │ ├── producer-consumer.png │ ├── producer-consumer.ucls │ └── producer-consumer.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── producer │ │ └── consumer │ │ ├── App.java │ │ ├── Consumer.java │ │ ├── Item.java │ │ ├── ItemQueue.java │ │ └── Producer.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── producer │ └── consumer │ ├── AppTest.java │ ├── ConsumerTest.java │ └── ProducerTest.java ├── promise ├── README.md ├── etc │ ├── promise-sequence-diagram.png │ ├── promise.png │ ├── promise.ucls │ └── promise.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── promise │ │ ├── App.java │ │ ├── Promise.java │ │ ├── PromiseSupport.java │ │ └── Utility.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── promise │ ├── AppTest.java │ └── PromiseTest.java ├── property ├── README.md ├── etc │ ├── property-sequence-diagram.png │ ├── property.png │ ├── property.ucls │ └── property.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── property │ │ ├── App.java │ │ ├── Character.java │ │ ├── Prototype.java │ │ └── Stats.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── property │ ├── AppTest.java │ └── CharacterTest.java ├── prototype ├── README.md ├── etc │ ├── prototype-sequence-diagram.png │ ├── prototype.urm.png │ └── prototype.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── prototype │ │ ├── App.java │ │ ├── Beast.java │ │ ├── ElfBeast.java │ │ ├── ElfMage.java │ │ ├── ElfWarlord.java │ │ ├── HeroFactory.java │ │ ├── HeroFactoryImpl.java │ │ ├── Mage.java │ │ ├── OrcBeast.java │ │ ├── OrcMage.java │ │ ├── OrcWarlord.java │ │ ├── Prototype.java │ │ └── Warlord.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── prototype │ ├── AppTest.java │ └── PrototypeTest.java ├── proxy ├── README.md ├── etc │ ├── proxy-sequence-diagram.png │ ├── proxy.urm.png │ └── proxy.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── proxy │ │ ├── App.java │ │ ├── IvoryTower.java │ │ ├── Wizard.java │ │ ├── WizardTower.java │ │ └── WizardTowerProxy.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── proxy │ ├── AppTest.java │ ├── IvoryTowerTest.java │ ├── WizardTest.java │ ├── WizardTowerProxyTest.java │ └── utils │ └── InMemoryAppender.java ├── publish-subscribe ├── README.md ├── etc │ ├── pub-sub.png │ └── publish-subscribe-sequence-diagram.png ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── publish │ │ └── subscribe │ │ ├── App.java │ │ ├── model │ │ ├── Message.java │ │ └── Topic.java │ │ ├── publisher │ │ ├── Publisher.java │ │ └── PublisherImpl.java │ │ └── subscriber │ │ ├── CustomerSupportSubscriber.java │ │ ├── DelayedWeatherSubscriber.java │ │ ├── Subscriber.java │ │ └── WeatherSubscriber.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── publish │ └── subscribe │ ├── AppTest.java │ ├── LoggerExtension.java │ ├── model │ ├── MessageTest.java │ └── TopicTest.java │ ├── publisher │ └── PublisherTest.java │ └── subscriber │ └── SubscriberTest.java ├── queue-based-load-leveling ├── README.md ├── etc │ ├── queue-based-load-leveling-flowchart.png │ ├── queue-based-load-leveling.urm.puml │ ├── queue-load-leveling.gif │ ├── queue-load-leveling.ucls │ └── queue-load-leveling.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── queue │ │ └── load │ │ └── leveling │ │ ├── App.java │ │ ├── Message.java │ │ ├── MessageQueue.java │ │ ├── ServiceExecutor.java │ │ ├── Task.java │ │ └── TaskGenerator.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── queue │ └── load │ └── leveling │ ├── AppTest.java │ ├── MessageQueueTest.java │ ├── MessageTest.java │ └── TaskGenSrvExeTest.java ├── reactor ├── README.md ├── etc │ ├── reactor-sequence-diagram.png │ ├── reactor.png │ ├── reactor.ucls │ └── reactor.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── reactor │ │ ├── app │ │ ├── App.java │ │ ├── AppClient.java │ │ └── LoggingHandler.java │ │ └── framework │ │ ├── AbstractNioChannel.java │ │ ├── ChannelHandler.java │ │ ├── Dispatcher.java │ │ ├── NioDatagramChannel.java │ │ ├── NioReactor.java │ │ ├── NioServerSocketChannel.java │ │ ├── SameThreadDispatcher.java │ │ └── ThreadPoolDispatcher.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── reactor │ └── app │ └── ReactorTest.java ├── registry ├── README.md ├── etc │ ├── registry-flowchart.png │ ├── registry.png │ └── registry.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── registry │ │ ├── App.java │ │ ├── Customer.java │ │ └── CustomerRegistry.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── registry │ └── CustomerRegistryTest.java ├── repository ├── README.md ├── etc │ ├── repository-sequence-diagram.png │ ├── repository.png │ ├── repository.ucls │ └── repository.urm.puml ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── iluwatar │ │ │ └── repository │ │ │ ├── App.java │ │ │ ├── AppConfig.java │ │ │ ├── Person.java │ │ │ ├── PersonRepository.java │ │ │ └── PersonSpecifications.java │ └── resources │ │ ├── META-INF │ │ └── persistence.xml │ │ ├── applicationContext.xml │ │ └── logback.xml │ └── test │ └── java │ └── com │ └── iluwatar │ └── repository │ ├── AnnotationBasedRepositoryTest.java │ ├── AppConfigTest.java │ ├── AppTest.java │ └── RepositoryTest.java ├── resource-acquisition-is-initialization ├── README.md ├── etc │ ├── raii-sequence-diagram.png │ ├── resource-acquisition-is-initialization.png │ ├── resource-acquisition-is-initialization.ucls │ └── resource-acquisition-is-initialization.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── resource │ │ └── acquisition │ │ └── is │ │ └── initialization │ │ ├── App.java │ │ ├── SlidingDoor.java │ │ └── TreasureChest.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── resource │ └── acquisition │ └── is │ └── initialization │ ├── AppTest.java │ └── ClosableTest.java ├── retry ├── README.md ├── etc │ ├── retry-flowchart.png │ ├── retry.png │ └── retry.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── retry │ │ ├── App.java │ │ ├── BusinessException.java │ │ ├── BusinessOperation.java │ │ ├── CustomerNotFoundException.java │ │ ├── DatabaseNotAvailableException.java │ │ ├── FindCustomer.java │ │ ├── Retry.java │ │ └── RetryExponentialBackoff.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── retry │ ├── FindCustomerTest.java │ ├── RetryExponentialBackoffTest.java │ └── RetryTest.java ├── role-object ├── README.md ├── etc │ ├── role-object-sequence-diagram.png │ ├── role-object.urm.png │ └── role-object.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── roleobject │ │ ├── ApplicationRoleObject.java │ │ ├── BorrowerRole.java │ │ ├── Customer.java │ │ ├── CustomerCore.java │ │ ├── CustomerRole.java │ │ ├── InvestorRole.java │ │ └── Role.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── roleobject │ ├── ApplicationRoleObjectTest.java │ ├── BorrowerRoleTest.java │ ├── CustomerCoreTest.java │ ├── InvestorRoleTest.java │ └── RoleTest.java ├── saga ├── README.md ├── etc │ ├── saga-flowchart.png │ ├── saga.urm.png │ └── saga.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── saga │ │ ├── choreography │ │ ├── ChoreographyChapter.java │ │ ├── FlyBookingService.java │ │ ├── HotelBookingService.java │ │ ├── OrderService.java │ │ ├── Saga.java │ │ ├── SagaApplication.java │ │ ├── Service.java │ │ ├── ServiceDiscoveryService.java │ │ └── WithdrawMoneyService.java │ │ └── orchestration │ │ ├── ChapterResult.java │ │ ├── FlyBookingService.java │ │ ├── HotelBookingService.java │ │ ├── OrchestrationChapter.java │ │ ├── OrderService.java │ │ ├── Saga.java │ │ ├── SagaApplication.java │ │ ├── SagaOrchestrator.java │ │ ├── Service.java │ │ ├── ServiceDiscoveryService.java │ │ └── WithdrawMoneyService.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── saga │ ├── choreography │ ├── SagaApplicationTest.java │ └── SagaChoreographyTest.java │ └── orchestration │ ├── SagaApplicationTest.java │ ├── SagaOrchestratorInternallyTest.java │ └── SagaOrchestratorTest.java ├── separated-interface ├── README.md ├── etc │ ├── class_diagram.png │ ├── separated-interface-sequence-diagram.png │ └── separated-interface.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── separatedinterface │ │ ├── App.java │ │ ├── invoice │ │ ├── InvoiceGenerator.java │ │ └── TaxCalculator.java │ │ └── taxes │ │ ├── DomesticTaxCalculator.java │ │ └── ForeignTaxCalculator.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── separatedinterface │ ├── AppTest.java │ ├── invoice │ └── InvoiceGeneratorTest.java │ └── taxes │ ├── DomesticTaxCalculatorTest.java │ └── ForeignTaxCalculatorTest.java ├── serialized-entity ├── README.md ├── etc │ ├── class_diagram.urm.png │ ├── serialize-entity.urm.puml │ ├── serialized-entity-flowchart.png │ └── serialized-entity.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── serializedentity │ │ ├── App.java │ │ ├── Country.java │ │ ├── CountryDao.java │ │ └── CountrySchemaSql.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── serializedentity │ ├── AppTest.java │ └── CountryTest.java ├── serialized-lob ├── README.md ├── etc │ ├── serialized-lob-flowchart.png │ ├── serialized-lob.urm.puml │ ├── slob.urm.png │ ├── slob.urm.puml │ └── slob.urm.uml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── slob │ │ ├── App.java │ │ ├── dbservice │ │ └── DatabaseService.java │ │ ├── lob │ │ ├── Animal.java │ │ ├── Forest.java │ │ └── Plant.java │ │ └── serializers │ │ ├── BlobSerializer.java │ │ ├── ClobSerializer.java │ │ └── LobSerializer.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── slob │ └── AppTest.java ├── servant ├── README.md ├── etc │ ├── servant-pattern.png │ ├── servant-pattern.ucls │ ├── servant-sequence-diagram.png │ └── servant.urm.puml ├── pom.xml └── src │ ├── etc │ ├── servant.jpg │ ├── servant.svg │ └── servant.xml │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── servant │ │ ├── App.java │ │ ├── King.java │ │ ├── Queen.java │ │ ├── Royalty.java │ │ └── Servant.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── servant │ ├── AppTest.java │ ├── KingTest.java │ ├── QueenTest.java │ └── ServantTest.java ├── server-session ├── README.md ├── etc │ ├── server-session-sequence-diagram.png │ ├── server-session.urm.png │ └── server-session.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── sessionserver │ │ ├── App.java │ │ ├── LoginHandler.java │ │ └── LogoutHandler.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── sessionserver │ ├── LoginHandlerTest.java │ └── LogoutHandlerTest.java ├── service-layer ├── README.md ├── etc │ ├── service-layer-architecture-diagram.png │ ├── service-layer.png │ ├── service-layer.ucls │ └── service-layer.urm.puml ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── iluwatar │ │ │ └── servicelayer │ │ │ ├── app │ │ │ └── App.java │ │ │ ├── common │ │ │ ├── BaseEntity.java │ │ │ ├── Dao.java │ │ │ └── DaoBaseImpl.java │ │ │ ├── hibernate │ │ │ └── HibernateUtil.java │ │ │ ├── magic │ │ │ ├── MagicService.java │ │ │ └── MagicServiceImpl.java │ │ │ ├── spell │ │ │ ├── Spell.java │ │ │ ├── SpellDao.java │ │ │ └── SpellDaoImpl.java │ │ │ ├── spellbook │ │ │ ├── Spellbook.java │ │ │ ├── SpellbookDao.java │ │ │ └── SpellbookDaoImpl.java │ │ │ └── wizard │ │ │ ├── Wizard.java │ │ │ ├── WizardDao.java │ │ │ └── WizardDaoImpl.java │ └── resources │ │ └── logback.xml │ └── test │ └── java │ └── com │ └── iluwatar │ └── servicelayer │ ├── app │ └── AppTest.java │ ├── common │ └── BaseDaoTest.java │ ├── magic │ └── MagicServiceImplTest.java │ ├── spell │ └── SpellDaoImplTest.java │ ├── spellbook │ └── SpellbookDaoImplTest.java │ └── wizard │ └── WizardDaoImplTest.java ├── service-locator ├── README.md ├── etc │ ├── service-locator-sequence-diagram.png │ ├── service-locator.png │ ├── service-locator.ucls │ └── service-locator.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── servicelocator │ │ ├── App.java │ │ ├── InitContext.java │ │ ├── Service.java │ │ ├── ServiceCache.java │ │ ├── ServiceImpl.java │ │ └── ServiceLocator.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── servicelocator │ ├── AppTest.java │ └── ServiceLocatorTest.java ├── service-stub ├── README.md ├── etc │ └── service-stub-sequence-diagram.png ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── servicestub │ │ ├── App.java │ │ ├── RealSentimentAnalysisServer.java │ │ ├── SentimentAnalysisServer.java │ │ └── StubSentimentAnalysisServer.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── servicestub │ ├── AppTest.java │ ├── RealSentimentAnalysisServerTest.java │ └── StubSentimentAnalysisServerTest.java ├── service-to-worker ├── README.md ├── etc │ ├── service-to-worker-sequence-diagram.png │ ├── service-to-worker.png │ ├── service-to-worker.puml │ └── service-to-worker.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── servicetoworker │ │ ├── Action.java │ │ ├── App.java │ │ ├── Command.java │ │ ├── Dispatcher.java │ │ ├── GiantController.java │ │ ├── GiantModel.java │ │ └── GiantView.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── servicetoworker │ ├── ActionTest.java │ ├── AppTest.java │ ├── DispatcherTest.java │ ├── GiantControllerTest.java │ ├── GiantModelTest.java │ └── GiantViewTest.java ├── session-facade ├── README.md ├── etc │ ├── session-facade-sequence-diagram.png │ ├── session-facade.urm.png │ └── session-facade.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── sessionfacade │ │ ├── App.java │ │ ├── CartService.java │ │ ├── OrderService.java │ │ ├── PaymentService.java │ │ ├── Product.java │ │ ├── ProductCatalogService.java │ │ └── ShoppingFacade.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── sessionfacade │ ├── AppTest.java │ ├── CartServiceTest.java │ ├── PaymentServiceTest.java │ ├── ProductTest.java │ └── ShoppingFacadeTest.java ├── sharding ├── README.md ├── etc │ ├── sharding-flowchart.png │ ├── sharding.urm.png │ └── sharding.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── sharding │ │ ├── App.java │ │ ├── Data.java │ │ ├── HashShardManager.java │ │ ├── LookupShardManager.java │ │ ├── RangeShardManager.java │ │ ├── Shard.java │ │ └── ShardManager.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── sharding │ ├── AppTest.java │ ├── HashShardManagerTest.java │ ├── LookupShardManagerTest.java │ ├── RangeShardManagerTest.java │ ├── ShardManagerTest.java │ └── ShardTest.java ├── single-table-inheritance ├── README.md ├── etc │ ├── single-table-inheritance-flowchart.png │ ├── single-table-inheritance.urm.png │ └── single-table-inheritance.urm.puml ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── iluwatar │ │ ├── SingleTableInheritance.java │ │ ├── entity │ │ ├── Car.java │ │ ├── Freighter.java │ │ ├── PassengerVehicle.java │ │ ├── Train.java │ │ ├── TransportVehicle.java │ │ ├── Truck.java │ │ └── Vehicle.java │ │ ├── repository │ │ └── VehicleRepository.java │ │ └── service │ │ └── VehicleService.java │ └── resources │ └── application.properties ├── singleton ├── README.md ├── etc │ ├── singleton-sequence-diagram.png │ ├── singleton.urm.png │ └── singleton.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── singleton │ │ ├── App.java │ │ ├── BillPughImplementation.java │ │ ├── EnumIvoryTower.java │ │ ├── InitializingOnDemandHolderIdiom.java │ │ ├── IvoryTower.java │ │ ├── ThreadSafeDoubleCheckLocking.java │ │ ├── ThreadSafeLazyLoadedIvoryTower.java │ │ └── package-info.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── singleton │ ├── AppTest.java │ ├── BillPughImplementationTest.java │ ├── EnumIvoryTowerTest.java │ ├── InitializingOnDemandHolderIdiomTest.java │ ├── IvoryTowerTest.java │ ├── SingletonTest.java │ ├── ThreadSafeDoubleCheckLockingTest.java │ └── ThreadSafeLazyLoadedIvoryTowerTest.java ├── spatial-partition ├── README.md ├── etc │ ├── spatial-partition-flowchart.png │ ├── spatial-partition.urm.png │ └── spatial-partition.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── spatialpartition │ │ ├── App.java │ │ ├── Bubble.java │ │ ├── Point.java │ │ ├── QuadTree.java │ │ ├── Rect.java │ │ ├── SpatialPartitionBubbles.java │ │ └── SpatialPartitionGeneric.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── spatialpartition │ ├── BubbleTest.java │ ├── QuadTreeTest.java │ ├── RectTest.java │ └── SpatialPartitionBubblesTest.java ├── special-case ├── README.md ├── etc │ ├── special-case-sequence-diagram.png │ ├── special-case.urm.puml │ └── special_case_urm.png ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── specialcase │ │ ├── App.java │ │ ├── ApplicationServices.java │ │ ├── ApplicationServicesImpl.java │ │ ├── Db.java │ │ ├── DomainServices.java │ │ ├── DomainServicesImpl.java │ │ ├── DownForMaintenance.java │ │ ├── InsufficientFunds.java │ │ ├── InvalidUser.java │ │ ├── MaintenanceLock.java │ │ ├── MoneyTransaction.java │ │ ├── OutOfStock.java │ │ ├── ReceiptDto.java │ │ └── ReceiptViewModel.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── specialcase │ ├── AppTest.java │ └── SpecialCasesTest.java ├── specification ├── README.md ├── etc │ ├── specification-flowchart.png │ ├── specification.png │ ├── specification.ucls │ └── specification.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── specification │ │ ├── app │ │ └── App.java │ │ ├── creature │ │ ├── AbstractCreature.java │ │ ├── Creature.java │ │ ├── Dragon.java │ │ ├── Goblin.java │ │ ├── KillerBee.java │ │ ├── Octopus.java │ │ ├── Shark.java │ │ └── Troll.java │ │ ├── property │ │ ├── Color.java │ │ ├── Mass.java │ │ ├── Movement.java │ │ └── Size.java │ │ └── selector │ │ ├── AbstractSelector.java │ │ ├── ColorSelector.java │ │ ├── ConjunctionSelector.java │ │ ├── DisjunctionSelector.java │ │ ├── MassEqualSelector.java │ │ ├── MassGreaterThanSelector.java │ │ ├── MassSmallerThanOrEqSelector.java │ │ ├── MovementSelector.java │ │ ├── NegationSelector.java │ │ └── SizeSelector.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── specification │ ├── app │ └── AppTest.java │ ├── creature │ └── CreatureTest.java │ └── selector │ ├── ColorSelectorTest.java │ ├── CompositeSelectorsTest.java │ ├── MassSelectorTest.java │ ├── MovementSelectorTest.java │ └── SizeSelectorTest.java ├── state ├── README.md ├── etc │ ├── state-flowchart.png │ ├── state.urm.puml │ └── state_urm.png ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── state │ │ ├── AngryState.java │ │ ├── App.java │ │ ├── Mammoth.java │ │ ├── PeacefulState.java │ │ └── State.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── state │ ├── AppTest.java │ └── MammothTest.java ├── step-builder ├── README.md ├── etc │ ├── step-builder-sequence-diagram.png │ ├── step-builder.png │ ├── step-builder.ucls │ └── step-builder.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── stepbuilder │ │ ├── App.java │ │ ├── Character.java │ │ └── CharacterStepBuilder.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── stepbuilder │ ├── AppTest.java │ └── CharacterStepBuilderTest.java ├── strangler ├── README.md ├── etc │ ├── strangler-flowchart.png │ ├── strangler.png │ ├── strangler.puml │ └── strangler.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── strangler │ │ ├── App.java │ │ ├── HalfArithmetic.java │ │ ├── HalfSource.java │ │ ├── NewArithmetic.java │ │ ├── NewSource.java │ │ ├── OldArithmetic.java │ │ └── OldSource.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── strangler │ ├── AppTest.java │ ├── HalfArithmeticTest.java │ ├── HalfSourceTest.java │ ├── NewArithmeticTest.java │ ├── NewSourceTest.java │ ├── OldArithmeticTest.java │ └── OldSourceTest.java ├── strategy ├── README.md ├── etc │ ├── strategy-flowchart.png │ ├── strategy.urm.puml │ └── strategy_urm.png ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── strategy │ │ ├── App.java │ │ ├── DragonSlayer.java │ │ ├── DragonSlayingStrategy.java │ │ ├── LambdaStrategy.java │ │ ├── MeleeStrategy.java │ │ ├── ProjectileStrategy.java │ │ └── SpellStrategy.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── strategy │ ├── AppTest.java │ ├── DragonSlayerTest.java │ └── DragonSlayingStrategyTest.java ├── subclass-sandbox ├── README.md ├── etc │ ├── subclass-sandbox-flowchart.png │ ├── subclass-sandbox.urm.png │ └── subclass-sandbox.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── subclasssandbox │ │ ├── App.java │ │ ├── GroundDive.java │ │ ├── SkyLaunch.java │ │ └── Superpower.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── subclasssandbox │ ├── AppTest.java │ ├── GroundDiveTest.java │ └── SkyLaunchTest.java ├── table-inheritance ├── README.md ├── etc │ ├── table-inheritance-mind-map.png │ └── table-inheritance.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── table │ │ └── inheritance │ │ ├── App.java │ │ ├── Car.java │ │ ├── Truck.java │ │ ├── Vehicle.java │ │ └── VehicleDatabase.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── table │ └── inheritance │ ├── AppTest.java │ └── VehicleDatabaseTest.java ├── table-module ├── README.md ├── etc │ ├── table-module-flowchart.png │ ├── table-module.urm.png │ └── table-module.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── tablemodule │ │ ├── App.java │ │ ├── User.java │ │ └── UserTableModule.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── tablemodule │ ├── AppTest.java │ ├── UserTableModuleTest.java │ └── UserTest.java ├── template-method ├── README.md ├── etc │ ├── template-method-sequence-diagram.png │ ├── template-method.urm.puml │ └── template_method_urm.png ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── templatemethod │ │ ├── App.java │ │ ├── HalflingThief.java │ │ ├── HitAndRunMethod.java │ │ ├── StealingMethod.java │ │ └── SubtleMethod.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── templatemethod │ ├── AppTest.java │ ├── HalflingThiefTest.java │ ├── HitAndRunMethodTest.java │ ├── StealingMethodTest.java │ └── SubtleMethodTest.java ├── templateview ├── README.md ├── etc │ ├── template-view-flowchart.png │ ├── template-view.urm.puml │ ├── template_view_urm.png │ └── templateview.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── templateview │ │ ├── App.java │ │ ├── ContactPageView.java │ │ ├── HomePageView.java │ │ └── TemplateView.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── templateview │ ├── AppTest.java │ ├── ContactPageViewTest.java │ ├── HomePageViewTest.java │ └── TemplateViewTest.java ├── thread-pool-executor ├── README.md ├── etc │ ├── thread-pool-executor.urm.png │ └── thread-pool-executor.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── threadpoolexecutor │ │ ├── App.java │ │ ├── FrontDeskService.java │ │ ├── GuestCheckInTask.java │ │ └── VipGuestCheckInTask.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── threadpoolexecutor │ ├── AppTest.java │ ├── FrontDeskServiceTest.java │ ├── GuestCheckInTaskTest.java │ └── VipGuestCheckInTaskTest.java ├── throttling ├── README.md ├── etc │ ├── throttling-flowchart.png │ ├── throttling.urm.puml │ └── throttling_urm.png ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── throttling │ │ ├── App.java │ │ ├── BarCustomer.java │ │ ├── Bartender.java │ │ ├── CallsCount.java │ │ └── timer │ │ ├── ThrottleTimerImpl.java │ │ └── Throttler.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── throttling │ ├── AppTest.java │ ├── BarCustomerTest.java │ └── BartenderTest.java ├── tolerant-reader ├── README.md ├── etc │ ├── tolerant-reader-sequence-diagram.png │ ├── tolerant-reader.urm.puml │ └── tolerant_reader_urm.png ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── tolerantreader │ │ ├── App.java │ │ ├── RainbowFish.java │ │ ├── RainbowFishSerializer.java │ │ └── RainbowFishV2.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── tolerantreader │ ├── AppTest.java │ ├── RainbowFishSerializerTest.java │ ├── RainbowFishTest.java │ └── RainbowFishV2Test.java ├── trampoline ├── .gitignore ├── README.md ├── etc │ ├── trampoline-flowchart.png │ ├── trampoline.urm.png │ └── trampoline.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── trampoline │ │ ├── Trampoline.java │ │ └── TrampolineApp.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── trampoline │ └── TrampolineAppTest.java ├── transaction-script ├── .gitignore ├── README.md ├── etc │ ├── transaction-script-flowchart.png │ ├── transaction-script.png │ └── transaction-script.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── transactionscript │ │ ├── App.java │ │ ├── Hotel.java │ │ ├── HotelDao.java │ │ ├── HotelDaoImpl.java │ │ ├── Room.java │ │ └── RoomSchemaSql.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── transactionscript │ ├── AppTest.java │ ├── HotelDaoImplTest.java │ ├── HotelTest.java │ └── RoomTest.java ├── twin ├── .gitignore ├── README.md ├── etc │ ├── twin-sequence-diagram.png │ ├── twin.png │ ├── twin.ucls │ └── twin.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── twin │ │ ├── App.java │ │ ├── BallItem.java │ │ ├── BallThread.java │ │ └── GameItem.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── twin │ ├── AppTest.java │ ├── BallItemTest.java │ └── BallThreadTest.java ├── type-object ├── README.md ├── etc │ ├── type-object-flowchart.png │ ├── type-object.urm.puml │ ├── typeobjectpattern.urm.png │ └── typeobjectpattern.urm.puml ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── iluwatar │ │ │ └── typeobject │ │ │ ├── App.java │ │ │ ├── Candy.java │ │ │ ├── CandyGame.java │ │ │ ├── Cell.java │ │ │ ├── CellPool.java │ │ │ └── JsonParser.java │ └── resources │ │ └── candy.json │ └── test │ └── java │ └── com │ └── iluwatar │ └── typeobject │ ├── CandyGameTest.java │ ├── CellPoolTest.java │ └── CellTest.java ├── unit-of-work ├── README.md ├── etc │ ├── unit-of-work-flowchart.png │ ├── unit-of-work.ucls │ ├── unit-of-work.urm.png │ └── unit-of-work.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── unitofwork │ │ ├── App.java │ │ ├── ArmsDealer.java │ │ ├── UnitActions.java │ │ ├── UnitOfWork.java │ │ ├── Weapon.java │ │ └── WeaponDatabase.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── unitofwork │ ├── AppTest.java │ └── ArmsDealerTest.java ├── update-method ├── README.md ├── etc │ ├── update-method-sequence-diagram.png │ ├── update-method.urm.png │ └── update-method.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── updatemethod │ │ ├── App.java │ │ ├── Entity.java │ │ ├── Skeleton.java │ │ ├── Statue.java │ │ └── World.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── updatemethod │ ├── AppTest.java │ ├── SkeletonTest.java │ ├── StatueTest.java │ └── WorldTest.java ├── value-object ├── README.md ├── etc │ ├── value-object-flowchart.png │ ├── value-object.png │ ├── value-object.ucls │ └── value-object.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── value │ │ └── object │ │ ├── App.java │ │ └── HeroStat.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── value │ └── object │ ├── AppTest.java │ └── HeroStatTest.java ├── version-number ├── README.md ├── etc │ ├── version-number-flowchart.png │ ├── version-number.urm.png │ └── version-number.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── versionnumber │ │ ├── App.java │ │ ├── Book.java │ │ ├── BookDuplicateException.java │ │ ├── BookNotFoundException.java │ │ ├── BookRepository.java │ │ └── VersionMismatchException.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── versionnumber │ ├── AppTest.java │ └── BookRepositoryTest.java ├── virtual-proxy ├── .gitignore ├── README.md ├── etc │ ├── virtual-proxy-sequence-diagram.png │ ├── virtual-proxy.urm.puml │ ├── virtual.proxy.urm.png │ └── virtual.proxy.urm.puml ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── iluwatar │ │ └── virtual │ │ └── proxy │ │ ├── App.java │ │ ├── ExpensiveObject.java │ │ ├── RealVideoObject.java │ │ └── VideoObjectProxy.java │ └── test │ └── java │ └── com │ └── iluwatar │ └── virtual │ └── proxy │ ├── AppTest.java │ ├── RealVideoObjectTest.java │ └── VideoObjectProxyTest.java └── visitor ├── README.md ├── etc ├── visitor-sequence-diagram.png ├── visitor.png ├── visitor.ucls ├── visitor.urm.puml └── visitor_1.png ├── pom.xml └── src ├── main └── java │ └── com │ └── iluwatar │ └── visitor │ ├── App.java │ ├── Commander.java │ ├── CommanderVisitor.java │ ├── Sergeant.java │ ├── SergeantVisitor.java │ ├── Soldier.java │ ├── SoldierVisitor.java │ ├── Unit.java │ └── UnitVisitor.java └── test └── java └── com └── iluwatar └── visitor ├── AppTest.java ├── CommanderTest.java ├── CommanderVisitorTest.java ├── SergeantTest.java ├── SergeantVisitorTest.java ├── SoldierTest.java ├── SoldierVisitorTest.java ├── UnitTest.java └── VisitorTest.java /.all-contributorsrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/.all-contributorsrc -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: [iluwatar] 2 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/maven-ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/.github/workflows/maven-ci.yml -------------------------------------------------------------------------------- /.github/workflows/maven-pr-builder.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/.github/workflows/maven-pr-builder.yml -------------------------------------------------------------------------------- /.github/workflows/presubmit.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/.github/workflows/presubmit.yml -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/.github/workflows/stale.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/.gitignore -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /CONTRIBUTING.MD: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/CONTRIBUTING.MD -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/LICENSE.md -------------------------------------------------------------------------------- /PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/README.md -------------------------------------------------------------------------------- /abstract-document/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/abstract-document/README.md -------------------------------------------------------------------------------- /abstract-document/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/abstract-document/pom.xml -------------------------------------------------------------------------------- /abstract-factory/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /abstract-factory/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/abstract-factory/README.md -------------------------------------------------------------------------------- /abstract-factory/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/abstract-factory/pom.xml -------------------------------------------------------------------------------- /active-object/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/active-object/README.md -------------------------------------------------------------------------------- /active-object/etc/active-object.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/active-object/etc/active-object.urm.png -------------------------------------------------------------------------------- /active-object/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/active-object/pom.xml -------------------------------------------------------------------------------- /actor-model/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/actor-model/README.md -------------------------------------------------------------------------------- /actor-model/etc/actor-model.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/actor-model/etc/actor-model.urm.puml -------------------------------------------------------------------------------- /actor-model/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/actor-model/pom.xml -------------------------------------------------------------------------------- /acyclic-visitor/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/acyclic-visitor/README.md -------------------------------------------------------------------------------- /acyclic-visitor/etc/acyclic-visitor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/acyclic-visitor/etc/acyclic-visitor.png -------------------------------------------------------------------------------- /acyclic-visitor/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/acyclic-visitor/pom.xml -------------------------------------------------------------------------------- /adapter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/adapter/README.md -------------------------------------------------------------------------------- /adapter/etc/adapter.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/adapter/etc/adapter.urm.png -------------------------------------------------------------------------------- /adapter/etc/adapter.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/adapter/etc/adapter.urm.puml -------------------------------------------------------------------------------- /adapter/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/adapter/pom.xml -------------------------------------------------------------------------------- /ambassador/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/ambassador/README.md -------------------------------------------------------------------------------- /ambassador/etc/ambassador.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/ambassador/etc/ambassador.urm.png -------------------------------------------------------------------------------- /ambassador/etc/ambassador.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/ambassador/etc/ambassador.urm.puml -------------------------------------------------------------------------------- /ambassador/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/ambassador/pom.xml -------------------------------------------------------------------------------- /anti-corruption-layer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/anti-corruption-layer/README.md -------------------------------------------------------------------------------- /anti-corruption-layer/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/anti-corruption-layer/pom.xml -------------------------------------------------------------------------------- /anti-corruption-layer/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /arrange-act-assert/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/arrange-act-assert/README.md -------------------------------------------------------------------------------- /arrange-act-assert/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/arrange-act-assert/pom.xml -------------------------------------------------------------------------------- /async-method-invocation/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/async-method-invocation/README.md -------------------------------------------------------------------------------- /async-method-invocation/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/async-method-invocation/pom.xml -------------------------------------------------------------------------------- /backpressure/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/backpressure/README.md -------------------------------------------------------------------------------- /backpressure/etc/backpressure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/backpressure/etc/backpressure.png -------------------------------------------------------------------------------- /backpressure/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/backpressure/pom.xml -------------------------------------------------------------------------------- /balking/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/balking/README.md -------------------------------------------------------------------------------- /balking/etc/balking-flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/balking/etc/balking-flowchart.png -------------------------------------------------------------------------------- /balking/etc/balking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/balking/etc/balking.png -------------------------------------------------------------------------------- /balking/etc/balking.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/balking/etc/balking.ucls -------------------------------------------------------------------------------- /balking/etc/balking.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/balking/etc/balking.urm.puml -------------------------------------------------------------------------------- /balking/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/balking/pom.xml -------------------------------------------------------------------------------- /bloc/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/bloc/README.md -------------------------------------------------------------------------------- /bloc/etc/bloc-sequence-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/bloc/etc/bloc-sequence-diagram.png -------------------------------------------------------------------------------- /bloc/etc/bloc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/bloc/etc/bloc.png -------------------------------------------------------------------------------- /bloc/etc/bloc.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/bloc/etc/bloc.puml -------------------------------------------------------------------------------- /bloc/etc/bloc.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/bloc/etc/bloc.urm.puml -------------------------------------------------------------------------------- /bloc/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/bloc/pom.xml -------------------------------------------------------------------------------- /bridge/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/bridge/README.md -------------------------------------------------------------------------------- /bridge/etc/bridge-sequence-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/bridge/etc/bridge-sequence-diagram.png -------------------------------------------------------------------------------- /bridge/etc/bridge.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/bridge/etc/bridge.urm.png -------------------------------------------------------------------------------- /bridge/etc/bridge.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/bridge/etc/bridge.urm.puml -------------------------------------------------------------------------------- /bridge/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/bridge/pom.xml -------------------------------------------------------------------------------- /business-delegate/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/business-delegate/README.md -------------------------------------------------------------------------------- /business-delegate/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/business-delegate/pom.xml -------------------------------------------------------------------------------- /bytecode/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/bytecode/README.md -------------------------------------------------------------------------------- /bytecode/etc/bytecode.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/bytecode/etc/bytecode.urm.png -------------------------------------------------------------------------------- /bytecode/etc/bytecode.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/bytecode/etc/bytecode.urm.puml -------------------------------------------------------------------------------- /bytecode/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/bytecode/pom.xml -------------------------------------------------------------------------------- /caching/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /caching/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/caching/README.md -------------------------------------------------------------------------------- /caching/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/caching/docker-compose.yml -------------------------------------------------------------------------------- /caching/etc/caching-flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/caching/etc/caching-flowchart.png -------------------------------------------------------------------------------- /caching/etc/caching.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/caching/etc/caching.png -------------------------------------------------------------------------------- /caching/etc/caching.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/caching/etc/caching.ucls -------------------------------------------------------------------------------- /caching/etc/caching.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/caching/etc/caching.urm.puml -------------------------------------------------------------------------------- /caching/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/caching/pom.xml -------------------------------------------------------------------------------- /callback/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/callback/README.md -------------------------------------------------------------------------------- /callback/etc/callback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/callback/etc/callback.png -------------------------------------------------------------------------------- /callback/etc/callback.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/callback/etc/callback.ucls -------------------------------------------------------------------------------- /callback/etc/callback.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/callback/etc/callback.urm.puml -------------------------------------------------------------------------------- /callback/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/callback/pom.xml -------------------------------------------------------------------------------- /chain-of-responsibility/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/chain-of-responsibility/README.md -------------------------------------------------------------------------------- /chain-of-responsibility/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/chain-of-responsibility/pom.xml -------------------------------------------------------------------------------- /checkstyle-suppressions.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/checkstyle-suppressions.xml -------------------------------------------------------------------------------- /circuit-breaker/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/circuit-breaker/README.md -------------------------------------------------------------------------------- /circuit-breaker/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/circuit-breaker/pom.xml -------------------------------------------------------------------------------- /clean-architecture/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/clean-architecture/README.md -------------------------------------------------------------------------------- /clean-architecture/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/clean-architecture/pom.xml -------------------------------------------------------------------------------- /client-session/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/client-session/README.md -------------------------------------------------------------------------------- /client-session/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/client-session/pom.xml -------------------------------------------------------------------------------- /collecting-parameter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/collecting-parameter/README.md -------------------------------------------------------------------------------- /collecting-parameter/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/collecting-parameter/pom.xml -------------------------------------------------------------------------------- /collection-pipeline/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/collection-pipeline/README.md -------------------------------------------------------------------------------- /collection-pipeline/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/collection-pipeline/pom.xml -------------------------------------------------------------------------------- /combinator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/combinator/README.md -------------------------------------------------------------------------------- /combinator/etc/combinator-flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/combinator/etc/combinator-flowchart.png -------------------------------------------------------------------------------- /combinator/etc/combinator.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/combinator/etc/combinator.urm.png -------------------------------------------------------------------------------- /combinator/etc/combinator.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/combinator/etc/combinator.urm.puml -------------------------------------------------------------------------------- /combinator/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/combinator/pom.xml -------------------------------------------------------------------------------- /command/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/command/README.md -------------------------------------------------------------------------------- /command/etc/command.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/command/etc/command.png -------------------------------------------------------------------------------- /command/etc/command.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/command/etc/command.ucls -------------------------------------------------------------------------------- /command/etc/command.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/command/etc/command.urm.puml -------------------------------------------------------------------------------- /command/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/command/pom.xml -------------------------------------------------------------------------------- /commander/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/commander/README.md -------------------------------------------------------------------------------- /commander/etc/commander.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/commander/etc/commander.urm.png -------------------------------------------------------------------------------- /commander/etc/commander.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/commander/etc/commander.urm.puml -------------------------------------------------------------------------------- /commander/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/commander/pom.xml -------------------------------------------------------------------------------- /component/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/component/README.md -------------------------------------------------------------------------------- /component/etc/component.uml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/component/etc/component.uml.png -------------------------------------------------------------------------------- /component/etc/component.uml.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/component/etc/component.uml.puml -------------------------------------------------------------------------------- /component/etc/component.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/component/etc/component.urm.puml -------------------------------------------------------------------------------- /component/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/component/pom.xml -------------------------------------------------------------------------------- /composite-entity/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/composite-entity/README.md -------------------------------------------------------------------------------- /composite-entity/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/composite-entity/pom.xml -------------------------------------------------------------------------------- /composite-view/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/composite-view/README.md -------------------------------------------------------------------------------- /composite-view/etc/composite_view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/composite-view/etc/composite_view.png -------------------------------------------------------------------------------- /composite-view/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/composite-view/pom.xml -------------------------------------------------------------------------------- /composite-view/web/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/composite-view/web/WEB-INF/web.xml -------------------------------------------------------------------------------- /composite-view/web/businessNews.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/composite-view/web/businessNews.jsp -------------------------------------------------------------------------------- /composite-view/web/header.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/composite-view/web/header.jsp -------------------------------------------------------------------------------- /composite-view/web/index.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/composite-view/web/index.jsp -------------------------------------------------------------------------------- /composite-view/web/localNews.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/composite-view/web/localNews.jsp -------------------------------------------------------------------------------- /composite-view/web/newsDisplay.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/composite-view/web/newsDisplay.jsp -------------------------------------------------------------------------------- /composite-view/web/scienceNews.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/composite-view/web/scienceNews.jsp -------------------------------------------------------------------------------- /composite-view/web/sportsNews.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/composite-view/web/sportsNews.jsp -------------------------------------------------------------------------------- /composite-view/web/worldNews.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/composite-view/web/worldNews.jsp -------------------------------------------------------------------------------- /composite/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/composite/README.md -------------------------------------------------------------------------------- /composite/etc/composite-flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/composite/etc/composite-flowchart.png -------------------------------------------------------------------------------- /composite/etc/composite.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/composite/etc/composite.urm.png -------------------------------------------------------------------------------- /composite/etc/composite.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/composite/etc/composite.urm.puml -------------------------------------------------------------------------------- /composite/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/composite/pom.xml -------------------------------------------------------------------------------- /context-object/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/context-object/README.md -------------------------------------------------------------------------------- /context-object/etc/context-object.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/context-object/etc/context-object.png -------------------------------------------------------------------------------- /context-object/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/context-object/pom.xml -------------------------------------------------------------------------------- /converter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/converter/README.md -------------------------------------------------------------------------------- /converter/etc/Converter.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/converter/etc/Converter.ucls -------------------------------------------------------------------------------- /converter/etc/converter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/converter/etc/converter.png -------------------------------------------------------------------------------- /converter/etc/converter.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/converter/etc/converter.urm.puml -------------------------------------------------------------------------------- /converter/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/converter/pom.xml -------------------------------------------------------------------------------- /curiously-recurring-template-pattern/etc/curiously-recurring-template-pattern.urm.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | @enduml -------------------------------------------------------------------------------- /currying/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/currying/README.md -------------------------------------------------------------------------------- /currying/etc/currying.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/currying/etc/currying.urm.png -------------------------------------------------------------------------------- /currying/etc/currying.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/currying/etc/currying.urm.puml -------------------------------------------------------------------------------- /currying/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/currying/pom.xml -------------------------------------------------------------------------------- /data-access-object/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/data-access-object/README.md -------------------------------------------------------------------------------- /data-access-object/etc/dao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/data-access-object/etc/dao.png -------------------------------------------------------------------------------- /data-access-object/etc/dao.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/data-access-object/etc/dao.ucls -------------------------------------------------------------------------------- /data-access-object/etc/dao.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/data-access-object/etc/dao.urm.puml -------------------------------------------------------------------------------- /data-access-object/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/data-access-object/pom.xml -------------------------------------------------------------------------------- /data-bus/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /data-bus/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/data-bus/README.md -------------------------------------------------------------------------------- /data-bus/etc/data-bus.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/data-bus/etc/data-bus.urm.png -------------------------------------------------------------------------------- /data-bus/etc/data-bus.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/data-bus/etc/data-bus.urm.puml -------------------------------------------------------------------------------- /data-bus/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/data-bus/pom.xml -------------------------------------------------------------------------------- /data-locality/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/data-locality/README.md -------------------------------------------------------------------------------- /data-locality/etc/data-locality.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/data-locality/etc/data-locality.urm.png -------------------------------------------------------------------------------- /data-locality/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/data-locality/pom.xml -------------------------------------------------------------------------------- /data-mapper/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/data-mapper/README.md -------------------------------------------------------------------------------- /data-mapper/etc/data-mapper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/data-mapper/etc/data-mapper.png -------------------------------------------------------------------------------- /data-mapper/etc/data-mapper.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/data-mapper/etc/data-mapper.ucls -------------------------------------------------------------------------------- /data-mapper/etc/data-mapper.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/data-mapper/etc/data-mapper.urm.puml -------------------------------------------------------------------------------- /data-mapper/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/data-mapper/pom.xml -------------------------------------------------------------------------------- /data-transfer-object/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/data-transfer-object/README.md -------------------------------------------------------------------------------- /data-transfer-object/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/data-transfer-object/pom.xml -------------------------------------------------------------------------------- /decorator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/decorator/README.md -------------------------------------------------------------------------------- /decorator/etc/decorator.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/decorator/etc/decorator.urm.png -------------------------------------------------------------------------------- /decorator/etc/decorator.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/decorator/etc/decorator.urm.puml -------------------------------------------------------------------------------- /decorator/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/decorator/pom.xml -------------------------------------------------------------------------------- /delegation/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/delegation/README.md -------------------------------------------------------------------------------- /delegation/etc/delegation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/delegation/etc/delegation.png -------------------------------------------------------------------------------- /delegation/etc/delegation.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/delegation/etc/delegation.ucls -------------------------------------------------------------------------------- /delegation/etc/delegation.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/delegation/etc/delegation.urm.puml -------------------------------------------------------------------------------- /delegation/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/delegation/pom.xml -------------------------------------------------------------------------------- /dependency-injection/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/dependency-injection/README.md -------------------------------------------------------------------------------- /dependency-injection/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/dependency-injection/pom.xml -------------------------------------------------------------------------------- /dirty-flag/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/dirty-flag/README.md -------------------------------------------------------------------------------- /dirty-flag/etc/dirty-flag-flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/dirty-flag/etc/dirty-flag-flowchart.png -------------------------------------------------------------------------------- /dirty-flag/etc/dirty-flag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/dirty-flag/etc/dirty-flag.png -------------------------------------------------------------------------------- /dirty-flag/etc/dirty-flag.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/dirty-flag/etc/dirty-flag.ucls -------------------------------------------------------------------------------- /dirty-flag/etc/dirty-flag.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/dirty-flag/etc/dirty-flag.urm.puml -------------------------------------------------------------------------------- /dirty-flag/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/dirty-flag/pom.xml -------------------------------------------------------------------------------- /dirty-flag/src/main/resources/world.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/dirty-flag/src/main/resources/world.txt -------------------------------------------------------------------------------- /domain-model/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/domain-model/README.md -------------------------------------------------------------------------------- /domain-model/etc/domain-model.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/domain-model/etc/domain-model.urm.png -------------------------------------------------------------------------------- /domain-model/etc/domain-model.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/domain-model/etc/domain-model.urm.puml -------------------------------------------------------------------------------- /domain-model/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/domain-model/pom.xml -------------------------------------------------------------------------------- /double-buffer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/double-buffer/README.md -------------------------------------------------------------------------------- /double-buffer/etc/double-buffer.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/double-buffer/etc/double-buffer.urm.png -------------------------------------------------------------------------------- /double-buffer/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/double-buffer/pom.xml -------------------------------------------------------------------------------- /double-checked-locking/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/double-checked-locking/README.md -------------------------------------------------------------------------------- /double-checked-locking/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/double-checked-locking/pom.xml -------------------------------------------------------------------------------- /double-dispatch/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/double-dispatch/README.md -------------------------------------------------------------------------------- /double-dispatch/etc/double-dispatch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/double-dispatch/etc/double-dispatch.png -------------------------------------------------------------------------------- /double-dispatch/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/double-dispatch/pom.xml -------------------------------------------------------------------------------- /dynamic-proxy/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/dynamic-proxy/README.md -------------------------------------------------------------------------------- /dynamic-proxy/etc/dynamic-proxy.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/dynamic-proxy/etc/dynamic-proxy.urm.png -------------------------------------------------------------------------------- /dynamic-proxy/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/dynamic-proxy/pom.xml -------------------------------------------------------------------------------- /event-aggregator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/event-aggregator/README.md -------------------------------------------------------------------------------- /event-aggregator/etc/classes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/event-aggregator/etc/classes.png -------------------------------------------------------------------------------- /event-aggregator/etc/classes.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/event-aggregator/etc/classes.ucls -------------------------------------------------------------------------------- /event-aggregator/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/event-aggregator/pom.xml -------------------------------------------------------------------------------- /event-based-asynchronous/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/event-based-asynchronous/README.md -------------------------------------------------------------------------------- /event-based-asynchronous/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/event-based-asynchronous/pom.xml -------------------------------------------------------------------------------- /event-driven-architecture/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/event-driven-architecture/README.md -------------------------------------------------------------------------------- /event-driven-architecture/etc/eda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/event-driven-architecture/etc/eda.png -------------------------------------------------------------------------------- /event-driven-architecture/etc/eda.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/event-driven-architecture/etc/eda.ucls -------------------------------------------------------------------------------- /event-driven-architecture/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/event-driven-architecture/pom.xml -------------------------------------------------------------------------------- /event-queue/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/event-queue/README.md -------------------------------------------------------------------------------- /event-queue/etc/Bass-Drum-1.aif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/event-queue/etc/Bass-Drum-1.aif -------------------------------------------------------------------------------- /event-queue/etc/Bass-Drum-1.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/event-queue/etc/Bass-Drum-1.wav -------------------------------------------------------------------------------- /event-queue/etc/Closed-Hi-Hat-1.aif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/event-queue/etc/Closed-Hi-Hat-1.aif -------------------------------------------------------------------------------- /event-queue/etc/Closed-Hi-Hat-1.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/event-queue/etc/Closed-Hi-Hat-1.wav -------------------------------------------------------------------------------- /event-queue/etc/event-queue.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/event-queue/etc/event-queue.urm.puml -------------------------------------------------------------------------------- /event-queue/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/event-queue/pom.xml -------------------------------------------------------------------------------- /event-sourcing/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/event-sourcing/README.md -------------------------------------------------------------------------------- /event-sourcing/etc/event-sourcing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/event-sourcing/etc/event-sourcing.png -------------------------------------------------------------------------------- /event-sourcing/etc/event-sourcing.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/event-sourcing/etc/event-sourcing.ucls -------------------------------------------------------------------------------- /event-sourcing/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/event-sourcing/pom.xml -------------------------------------------------------------------------------- /execute-around/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/execute-around/README.md -------------------------------------------------------------------------------- /execute-around/etc/execute-around.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/execute-around/etc/execute-around.png -------------------------------------------------------------------------------- /execute-around/etc/execute-around.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/execute-around/etc/execute-around.ucls -------------------------------------------------------------------------------- /execute-around/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/execute-around/pom.xml -------------------------------------------------------------------------------- /extension-objects/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/extension-objects/README.md -------------------------------------------------------------------------------- /extension-objects/etc/extension-objects.urm.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | @enduml -------------------------------------------------------------------------------- /extension-objects/etc/extension_obj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/extension-objects/etc/extension_obj.png -------------------------------------------------------------------------------- /extension-objects/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/extension-objects/pom.xml -------------------------------------------------------------------------------- /facade/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/facade/README.md -------------------------------------------------------------------------------- /facade/etc/facade-sequence-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/facade/etc/facade-sequence-diagram.png -------------------------------------------------------------------------------- /facade/etc/facade.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/facade/etc/facade.urm.png -------------------------------------------------------------------------------- /facade/etc/facade.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/facade/etc/facade.urm.puml -------------------------------------------------------------------------------- /facade/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/facade/pom.xml -------------------------------------------------------------------------------- /factory-kit/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/factory-kit/README.md -------------------------------------------------------------------------------- /factory-kit/etc/factory-kit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/factory-kit/etc/factory-kit.png -------------------------------------------------------------------------------- /factory-kit/etc/factory-kit.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/factory-kit/etc/factory-kit.ucls -------------------------------------------------------------------------------- /factory-kit/etc/factory-kit.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/factory-kit/etc/factory-kit.urm.puml -------------------------------------------------------------------------------- /factory-kit/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/factory-kit/pom.xml -------------------------------------------------------------------------------- /factory-method/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /factory-method/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/factory-method/README.md -------------------------------------------------------------------------------- /factory-method/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/factory-method/pom.xml -------------------------------------------------------------------------------- /factory/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/factory/README.md -------------------------------------------------------------------------------- /factory/etc/factory.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/factory/etc/factory.urm.png -------------------------------------------------------------------------------- /factory/etc/factory.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/factory/etc/factory.urm.puml -------------------------------------------------------------------------------- /factory/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/factory/pom.xml -------------------------------------------------------------------------------- /fanout-fanin/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/fanout-fanin/README.md -------------------------------------------------------------------------------- /fanout-fanin/etc/fanout-fanin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/fanout-fanin/etc/fanout-fanin.png -------------------------------------------------------------------------------- /fanout-fanin/etc/fanout-fanin.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/fanout-fanin/etc/fanout-fanin.urm.puml -------------------------------------------------------------------------------- /fanout-fanin/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/fanout-fanin/pom.xml -------------------------------------------------------------------------------- /feature-toggle/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/feature-toggle/README.md -------------------------------------------------------------------------------- /feature-toggle/etc/feature-toggle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/feature-toggle/etc/feature-toggle.png -------------------------------------------------------------------------------- /feature-toggle/etc/feature-toggle.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/feature-toggle/etc/feature-toggle.ucls -------------------------------------------------------------------------------- /feature-toggle/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/feature-toggle/pom.xml -------------------------------------------------------------------------------- /filterer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/filterer/README.md -------------------------------------------------------------------------------- /filterer/etc/filterer-flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/filterer/etc/filterer-flowchart.png -------------------------------------------------------------------------------- /filterer/etc/filterer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/filterer/etc/filterer.png -------------------------------------------------------------------------------- /filterer/etc/filterer.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/filterer/etc/filterer.urm.puml -------------------------------------------------------------------------------- /filterer/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/filterer/pom.xml -------------------------------------------------------------------------------- /fluent-interface/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/fluent-interface/README.md -------------------------------------------------------------------------------- /fluent-interface/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/fluent-interface/pom.xml -------------------------------------------------------------------------------- /flux/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/flux/README.md -------------------------------------------------------------------------------- /flux/etc/flux-architecture-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/flux/etc/flux-architecture-diagram.png -------------------------------------------------------------------------------- /flux/etc/flux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/flux/etc/flux.png -------------------------------------------------------------------------------- /flux/etc/flux.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/flux/etc/flux.ucls -------------------------------------------------------------------------------- /flux/etc/flux.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/flux/etc/flux.urm.puml -------------------------------------------------------------------------------- /flux/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/flux/pom.xml -------------------------------------------------------------------------------- /flyweight/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/flyweight/README.md -------------------------------------------------------------------------------- /flyweight/etc/flyweight.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/flyweight/etc/flyweight.urm.png -------------------------------------------------------------------------------- /flyweight/etc/flyweight.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/flyweight/etc/flyweight.urm.puml -------------------------------------------------------------------------------- /flyweight/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/flyweight/pom.xml -------------------------------------------------------------------------------- /front-controller/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/front-controller/README.md -------------------------------------------------------------------------------- /front-controller/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/front-controller/pom.xml -------------------------------------------------------------------------------- /function-composition/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/function-composition/.gitignore -------------------------------------------------------------------------------- /function-composition/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/function-composition/README.md -------------------------------------------------------------------------------- /function-composition/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/function-composition/pom.xml -------------------------------------------------------------------------------- /game-loop/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/game-loop/README.md -------------------------------------------------------------------------------- /game-loop/etc/game-loop-flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/game-loop/etc/game-loop-flowchart.png -------------------------------------------------------------------------------- /game-loop/etc/game-loop.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/game-loop/etc/game-loop.urm.png -------------------------------------------------------------------------------- /game-loop/etc/game-loop.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/game-loop/etc/game-loop.urm.puml -------------------------------------------------------------------------------- /game-loop/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/game-loop/pom.xml -------------------------------------------------------------------------------- /gateway/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/gateway/README.md -------------------------------------------------------------------------------- /gateway/etc/gateway.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/gateway/etc/gateway.urm.png -------------------------------------------------------------------------------- /gateway/etc/gateway.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/gateway/etc/gateway.urm.puml -------------------------------------------------------------------------------- /gateway/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/gateway/pom.xml -------------------------------------------------------------------------------- /guarded-suspension/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/guarded-suspension/README.md -------------------------------------------------------------------------------- /guarded-suspension/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/guarded-suspension/pom.xml -------------------------------------------------------------------------------- /half-sync-half-async/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/half-sync-half-async/README.md -------------------------------------------------------------------------------- /half-sync-half-async/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/half-sync-half-async/pom.xml -------------------------------------------------------------------------------- /health-check/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/health-check/README.md -------------------------------------------------------------------------------- /health-check/etc/health-check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/health-check/etc/health-check.png -------------------------------------------------------------------------------- /health-check/etc/health-check.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/health-check/etc/health-check.puml -------------------------------------------------------------------------------- /health-check/etc/health-check.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/health-check/etc/health-check.urm.puml -------------------------------------------------------------------------------- /health-check/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/health-check/pom.xml -------------------------------------------------------------------------------- /health-check/src/test/java/AppTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/health-check/src/test/java/AppTest.java -------------------------------------------------------------------------------- /hexagonal-architecture/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/hexagonal-architecture/README.md -------------------------------------------------------------------------------- /hexagonal-architecture/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/hexagonal-architecture/pom.xml -------------------------------------------------------------------------------- /identity-map/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/identity-map/README.md -------------------------------------------------------------------------------- /identity-map/etc/IdentityMap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/identity-map/etc/IdentityMap.png -------------------------------------------------------------------------------- /identity-map/etc/identity-map.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/identity-map/etc/identity-map.urm.puml -------------------------------------------------------------------------------- /identity-map/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/identity-map/pom.xml -------------------------------------------------------------------------------- /intercepting-filter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/intercepting-filter/README.md -------------------------------------------------------------------------------- /intercepting-filter/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/intercepting-filter/pom.xml -------------------------------------------------------------------------------- /interpreter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/interpreter/README.md -------------------------------------------------------------------------------- /interpreter/etc/interpreter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/interpreter/etc/interpreter.png -------------------------------------------------------------------------------- /interpreter/etc/interpreter.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/interpreter/etc/interpreter.ucls -------------------------------------------------------------------------------- /interpreter/etc/interpreter.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/interpreter/etc/interpreter.urm.puml -------------------------------------------------------------------------------- /interpreter/etc/interpreter_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/interpreter/etc/interpreter_1.png -------------------------------------------------------------------------------- /interpreter/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/interpreter/pom.xml -------------------------------------------------------------------------------- /iterator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/iterator/README.md -------------------------------------------------------------------------------- /iterator/etc/bst.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/iterator/etc/bst.jpg -------------------------------------------------------------------------------- /iterator/etc/iterator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/iterator/etc/iterator.png -------------------------------------------------------------------------------- /iterator/etc/iterator.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/iterator/etc/iterator.ucls -------------------------------------------------------------------------------- /iterator/etc/iterator.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/iterator/etc/iterator.urm.puml -------------------------------------------------------------------------------- /iterator/etc/iterator_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/iterator/etc/iterator_1.png -------------------------------------------------------------------------------- /iterator/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/iterator/pom.xml -------------------------------------------------------------------------------- /layered-architecture/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/layered-architecture/README.md -------------------------------------------------------------------------------- /layered-architecture/etc/layers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/layered-architecture/etc/layers.png -------------------------------------------------------------------------------- /layered-architecture/etc/layers.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/layered-architecture/etc/layers.ucls -------------------------------------------------------------------------------- /layered-architecture/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/layered-architecture/pom.xml -------------------------------------------------------------------------------- /lazy-loading/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/lazy-loading/README.md -------------------------------------------------------------------------------- /lazy-loading/etc/lazy-loading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/lazy-loading/etc/lazy-loading.png -------------------------------------------------------------------------------- /lazy-loading/etc/lazy-loading.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/lazy-loading/etc/lazy-loading.ucls -------------------------------------------------------------------------------- /lazy-loading/etc/lazy-loading.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/lazy-loading/etc/lazy-loading.urm.puml -------------------------------------------------------------------------------- /lazy-loading/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/lazy-loading/pom.xml -------------------------------------------------------------------------------- /leader-election/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/leader-election/README.md -------------------------------------------------------------------------------- /leader-election/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/leader-election/pom.xml -------------------------------------------------------------------------------- /leader-followers/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/leader-followers/README.md -------------------------------------------------------------------------------- /leader-followers/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/leader-followers/pom.xml -------------------------------------------------------------------------------- /lgpl-3.0.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/lgpl-3.0.txt -------------------------------------------------------------------------------- /localization/ar/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/README.md -------------------------------------------------------------------------------- /localization/ar/active-object/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/active-object/README.md -------------------------------------------------------------------------------- /localization/ar/adapter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/adapter/README.md -------------------------------------------------------------------------------- /localization/ar/ambassador/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/ambassador/README.md -------------------------------------------------------------------------------- /localization/ar/api-gateway/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/api-gateway/README.md -------------------------------------------------------------------------------- /localization/ar/balking/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/balking/README.md -------------------------------------------------------------------------------- /localization/ar/balking/etc/balking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/balking/etc/balking.png -------------------------------------------------------------------------------- /localization/ar/bridge/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/bridge/README.md -------------------------------------------------------------------------------- /localization/ar/builder/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/builder/README.md -------------------------------------------------------------------------------- /localization/ar/bytecode/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/bytecode/README.md -------------------------------------------------------------------------------- /localization/ar/command/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/command/README.md -------------------------------------------------------------------------------- /localization/ar/command/etc/command.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/command/etc/command.png -------------------------------------------------------------------------------- /localization/ar/commander/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/commander/README.md -------------------------------------------------------------------------------- /localization/ar/composite/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/composite/README.md -------------------------------------------------------------------------------- /localization/ar/converter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/converter/README.md -------------------------------------------------------------------------------- /localization/ar/crtp/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/crtp/README.md -------------------------------------------------------------------------------- /localization/ar/crtp/etc/crtp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/crtp/etc/crtp.png -------------------------------------------------------------------------------- /localization/ar/data-locality/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/data-locality/README.md -------------------------------------------------------------------------------- /localization/ar/decorator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/decorator/README.md -------------------------------------------------------------------------------- /localization/ar/delegation/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/delegation/README.md -------------------------------------------------------------------------------- /localization/ar/dirty-flag/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/dirty-flag/README.md -------------------------------------------------------------------------------- /localization/ar/double-buffer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/double-buffer/README.md -------------------------------------------------------------------------------- /localization/ar/facade/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/facade/README.md -------------------------------------------------------------------------------- /localization/ar/factory/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ar/factory/README.md -------------------------------------------------------------------------------- /localization/bn/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/bn/README.md -------------------------------------------------------------------------------- /localization/da/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/da/README.md -------------------------------------------------------------------------------- /localization/de/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/de/README.md -------------------------------------------------------------------------------- /localization/el/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/el/README.md -------------------------------------------------------------------------------- /localization/es/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/README.md -------------------------------------------------------------------------------- /localization/es/active-object/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/active-object/README.md -------------------------------------------------------------------------------- /localization/es/adapter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/adapter/README.md -------------------------------------------------------------------------------- /localization/es/ambassador/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/ambassador/README.md -------------------------------------------------------------------------------- /localization/es/api-gateway/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/api-gateway/README.md -------------------------------------------------------------------------------- /localization/es/balking/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/balking/README.md -------------------------------------------------------------------------------- /localization/es/balking/etc/balking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/balking/etc/balking.png -------------------------------------------------------------------------------- /localization/es/bridge/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/bridge/README.md -------------------------------------------------------------------------------- /localization/es/builder/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/builder/README.md -------------------------------------------------------------------------------- /localization/es/bytecode/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/bytecode/README.md -------------------------------------------------------------------------------- /localization/es/command/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/command/README.md -------------------------------------------------------------------------------- /localization/es/command/etc/command.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/command/etc/command.png -------------------------------------------------------------------------------- /localization/es/commander/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/commander/README.md -------------------------------------------------------------------------------- /localization/es/composite/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/composite/README.md -------------------------------------------------------------------------------- /localization/es/converter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/converter/README.md -------------------------------------------------------------------------------- /localization/es/crtp/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/crtp/README.md -------------------------------------------------------------------------------- /localization/es/crtp/etc/crtp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/crtp/etc/crtp.png -------------------------------------------------------------------------------- /localization/es/data-locality/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/data-locality/README.md -------------------------------------------------------------------------------- /localization/es/decorator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/decorator/README.md -------------------------------------------------------------------------------- /localization/es/delegation/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/delegation/README.md -------------------------------------------------------------------------------- /localization/es/dirty-flag/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/dirty-flag/README.md -------------------------------------------------------------------------------- /localization/es/double-buffer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/double-buffer/README.md -------------------------------------------------------------------------------- /localization/es/facade/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/facade/README.md -------------------------------------------------------------------------------- /localization/es/factory-kit/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/factory-kit/README.md -------------------------------------------------------------------------------- /localization/es/factory/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/factory/README.md -------------------------------------------------------------------------------- /localization/es/flux/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/flux/README.md -------------------------------------------------------------------------------- /localization/es/flux/etc/flux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/flux/etc/flux.png -------------------------------------------------------------------------------- /localization/es/flyweight/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/flyweight/README.md -------------------------------------------------------------------------------- /localization/es/game-loop/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/game-loop/README.md -------------------------------------------------------------------------------- /localization/es/gateway/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/gateway/README.md -------------------------------------------------------------------------------- /localization/es/health-check/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/health-check/README.md -------------------------------------------------------------------------------- /localization/es/identity-map/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/identity-map/README.md -------------------------------------------------------------------------------- /localization/es/interpreter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/interpreter/README.md -------------------------------------------------------------------------------- /localization/es/iterator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/iterator/README.md -------------------------------------------------------------------------------- /localization/es/layers/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/layers/README.md -------------------------------------------------------------------------------- /localization/es/layers/etc/layers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/layers/etc/layers.png -------------------------------------------------------------------------------- /localization/es/lazy-loading/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/lazy-loading/README.md -------------------------------------------------------------------------------- /localization/es/map-reduce/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/map-reduce/README.md -------------------------------------------------------------------------------- /localization/es/marker/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/marker/README.md -------------------------------------------------------------------------------- /localization/es/mediator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/mediator/README.md -------------------------------------------------------------------------------- /localization/es/memento/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/memento/README.md -------------------------------------------------------------------------------- /localization/es/memento/etc/memento.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/memento/etc/memento.png -------------------------------------------------------------------------------- /localization/es/module/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/module/README.md -------------------------------------------------------------------------------- /localization/es/module/etc/module.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/module/etc/module.png -------------------------------------------------------------------------------- /localization/es/monostate/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/monostate/README.md -------------------------------------------------------------------------------- /localization/es/multiton/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/multiton/README.md -------------------------------------------------------------------------------- /localization/es/null-object/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/null-object/README.md -------------------------------------------------------------------------------- /localization/es/object-mother/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/object-mother/README.md -------------------------------------------------------------------------------- /localization/es/object-pool/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/object-pool/README.md -------------------------------------------------------------------------------- /localization/es/observer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/observer/README.md -------------------------------------------------------------------------------- /localization/es/page-object/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/page-object/README.md -------------------------------------------------------------------------------- /localization/es/pipeline/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/pipeline/README.md -------------------------------------------------------------------------------- /localization/es/poison-pill/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/poison-pill/README.md -------------------------------------------------------------------------------- /localization/es/property/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/property/README.md -------------------------------------------------------------------------------- /localization/es/prototype/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/prototype/README.md -------------------------------------------------------------------------------- /localization/es/proxy/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/proxy/README.md -------------------------------------------------------------------------------- /localization/es/proxy/etc/proxy.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/proxy/etc/proxy.urm.png -------------------------------------------------------------------------------- /localization/es/registry/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/registry/README.md -------------------------------------------------------------------------------- /localization/es/retry/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/retry/README.md -------------------------------------------------------------------------------- /localization/es/retry/etc/retry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/retry/etc/retry.png -------------------------------------------------------------------------------- /localization/es/role-object/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/role-object/README.md -------------------------------------------------------------------------------- /localization/es/servant/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/servant/README.md -------------------------------------------------------------------------------- /localization/es/sharding/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/sharding/README.md -------------------------------------------------------------------------------- /localization/es/singleton/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/singleton/README.md -------------------------------------------------------------------------------- /localization/es/special-case/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/special-case/README.md -------------------------------------------------------------------------------- /localization/es/specification/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/specification/README.md -------------------------------------------------------------------------------- /localization/es/state/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/state/README.md -------------------------------------------------------------------------------- /localization/es/state/etc/state_urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/state/etc/state_urm.png -------------------------------------------------------------------------------- /localization/es/step-builder/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/step-builder/README.md -------------------------------------------------------------------------------- /localization/es/strangler/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/strangler/README.md -------------------------------------------------------------------------------- /localization/es/strategy/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/strategy/README.md -------------------------------------------------------------------------------- /localization/es/table-module/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/table-module/README.md -------------------------------------------------------------------------------- /localization/es/throttling/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/throttling/README.md -------------------------------------------------------------------------------- /localization/es/trampoline/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/trampoline/README.md -------------------------------------------------------------------------------- /localization/es/twin/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/twin/README.md -------------------------------------------------------------------------------- /localization/es/twin/etc/twin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/twin/etc/twin.png -------------------------------------------------------------------------------- /localization/es/update-method/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/update-method/README.md -------------------------------------------------------------------------------- /localization/es/value-object/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/value-object/README.md -------------------------------------------------------------------------------- /localization/es/visitor/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/visitor/README.md -------------------------------------------------------------------------------- /localization/es/visitor/etc/visitor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/es/visitor/etc/visitor.png -------------------------------------------------------------------------------- /localization/fa/active-object/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/fa/active-object/README.md -------------------------------------------------------------------------------- /localization/fa/factory/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/fa/factory/README.md -------------------------------------------------------------------------------- /localization/fr/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/fr/README.md -------------------------------------------------------------------------------- /localization/fr/active-object/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/fr/active-object/README.md -------------------------------------------------------------------------------- /localization/fr/adapter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/fr/adapter/README.md -------------------------------------------------------------------------------- /localization/fr/ambassador/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/fr/ambassador/README.md -------------------------------------------------------------------------------- /localization/fr/api-gateway/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/fr/api-gateway/README.md -------------------------------------------------------------------------------- /localization/fr/balking/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/fr/balking/README.md -------------------------------------------------------------------------------- /localization/fr/bridge/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/fr/bridge/README.md -------------------------------------------------------------------------------- /localization/fr/builder/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/fr/builder/README.md -------------------------------------------------------------------------------- /localization/hi/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/hi/README.md -------------------------------------------------------------------------------- /localization/hi/active-object/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/hi/active-object/README.md -------------------------------------------------------------------------------- /localization/hi/adapter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/hi/adapter/README.md -------------------------------------------------------------------------------- /localization/hi/ambassador/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/hi/ambassador/README.md -------------------------------------------------------------------------------- /localization/hi/api-gateway/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/hi/api-gateway/README.md -------------------------------------------------------------------------------- /localization/hi/balking/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/hi/balking/README.md -------------------------------------------------------------------------------- /localization/hi/bridge/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/hi/bridge/README.md -------------------------------------------------------------------------------- /localization/hi/builder/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/hi/builder/README.md -------------------------------------------------------------------------------- /localization/hi/bytecode/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/hi/bytecode/README.md -------------------------------------------------------------------------------- /localization/hi/caching/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/hi/caching/README.md -------------------------------------------------------------------------------- /localization/hi/callback/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/hi/callback/README.md -------------------------------------------------------------------------------- /localization/hi/combinator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/hi/combinator/README.md -------------------------------------------------------------------------------- /localization/hi/command/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/hi/command/README.md -------------------------------------------------------------------------------- /localization/hi/module/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/hi/module/README.md -------------------------------------------------------------------------------- /localization/id/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/id/README.md -------------------------------------------------------------------------------- /localization/id/decorator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/id/decorator/README.md -------------------------------------------------------------------------------- /localization/it/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/it/README.md -------------------------------------------------------------------------------- /localization/it/active-object/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/it/active-object/README.md -------------------------------------------------------------------------------- /localization/it/adapter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/it/adapter/README.md -------------------------------------------------------------------------------- /localization/it/iterator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/it/iterator/README.md -------------------------------------------------------------------------------- /localization/it/observer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/it/observer/README.md -------------------------------------------------------------------------------- /localization/ja/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ja/README.md -------------------------------------------------------------------------------- /localization/ja/decorator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ja/decorator/README.md -------------------------------------------------------------------------------- /localization/ko/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ko/README.md -------------------------------------------------------------------------------- /localization/ko/adapter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ko/adapter/README.md -------------------------------------------------------------------------------- /localization/ko/builder/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ko/builder/README.md -------------------------------------------------------------------------------- /localization/ko/callback/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ko/callback/README.md -------------------------------------------------------------------------------- /localization/ko/decorater/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ko/decorater/README.md -------------------------------------------------------------------------------- /localization/ko/facade/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ko/facade/README.md -------------------------------------------------------------------------------- /localization/ko/factory/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ko/factory/README.md -------------------------------------------------------------------------------- /localization/ko/iterator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ko/iterator/README.md -------------------------------------------------------------------------------- /localization/ko/observer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ko/observer/README.md -------------------------------------------------------------------------------- /localization/ko/prototype/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ko/prototype/README.md -------------------------------------------------------------------------------- /localization/ko/proxy/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ko/proxy/README.md -------------------------------------------------------------------------------- /localization/ko/singleton/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ko/singleton/README.md -------------------------------------------------------------------------------- /localization/ko/strategy/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ko/strategy/README.md -------------------------------------------------------------------------------- /localization/ko/visitor/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ko/visitor/README.md -------------------------------------------------------------------------------- /localization/mr/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/mr/README.md -------------------------------------------------------------------------------- /localization/ne/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ne/README.md -------------------------------------------------------------------------------- /localization/pt/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/pt/README.md -------------------------------------------------------------------------------- /localization/pt/adapter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/pt/adapter/README.md -------------------------------------------------------------------------------- /localization/pt/builder/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/pt/builder/README.md -------------------------------------------------------------------------------- /localization/pt/caching/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/pt/caching/README.md -------------------------------------------------------------------------------- /localization/pt/facade/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/pt/facade/README.md -------------------------------------------------------------------------------- /localization/pt/factory/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/pt/factory/README.md -------------------------------------------------------------------------------- /localization/pt/proxy/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/pt/proxy/README.md -------------------------------------------------------------------------------- /localization/pt/singleton/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/pt/singleton/README.md -------------------------------------------------------------------------------- /localization/ru/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ru/README.md -------------------------------------------------------------------------------- /localization/si/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/si/README.md -------------------------------------------------------------------------------- /localization/tr/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/tr/README.md -------------------------------------------------------------------------------- /localization/tr/singleton/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/tr/singleton/README.md -------------------------------------------------------------------------------- /localization/ur/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/ur/README.md -------------------------------------------------------------------------------- /localization/vi/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/vi/README.md -------------------------------------------------------------------------------- /localization/vi/adapter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/vi/adapter/README.md -------------------------------------------------------------------------------- /localization/vi/builder/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/vi/builder/README.md -------------------------------------------------------------------------------- /localization/vi/game-loop/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/vi/game-loop/README.md -------------------------------------------------------------------------------- /localization/zh/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/README.md -------------------------------------------------------------------------------- /localization/zh/adapter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/adapter/README.md -------------------------------------------------------------------------------- /localization/zh/ambassador/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/ambassador/README.md -------------------------------------------------------------------------------- /localization/zh/balking/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/balking/README.md -------------------------------------------------------------------------------- /localization/zh/bridge/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/bridge/README.md -------------------------------------------------------------------------------- /localization/zh/builder/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/builder/README.md -------------------------------------------------------------------------------- /localization/zh/bytecode/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/bytecode/README.md -------------------------------------------------------------------------------- /localization/zh/caching/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/caching/README.md -------------------------------------------------------------------------------- /localization/zh/callback/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/callback/README.md -------------------------------------------------------------------------------- /localization/zh/chain/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/chain/README.md -------------------------------------------------------------------------------- /localization/zh/circuit-breaker/etc/ServiceDiagram.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /localization/zh/circuit-breaker/etc/StateDiagram.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /localization/zh/combinator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/combinator/README.md -------------------------------------------------------------------------------- /localization/zh/command/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/command/README.md -------------------------------------------------------------------------------- /localization/zh/commander/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/commander/README.md -------------------------------------------------------------------------------- /localization/zh/composite/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/composite/README.md -------------------------------------------------------------------------------- /localization/zh/converter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/converter/README.md -------------------------------------------------------------------------------- /localization/zh/crtp/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/crtp/README.md -------------------------------------------------------------------------------- /localization/zh/crtp/etc/crtp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/crtp/etc/crtp.png -------------------------------------------------------------------------------- /localization/zh/dao/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/dao/README.md -------------------------------------------------------------------------------- /localization/zh/dao/etc/dao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/dao/etc/dao.png -------------------------------------------------------------------------------- /localization/zh/data-bus/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/data-bus/README.md -------------------------------------------------------------------------------- /localization/zh/decorator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/decorator/README.md -------------------------------------------------------------------------------- /localization/zh/delegation/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/delegation/README.md -------------------------------------------------------------------------------- /localization/zh/dirty-flag/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/dirty-flag/README.md -------------------------------------------------------------------------------- /localization/zh/facade/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/facade/README.md -------------------------------------------------------------------------------- /localization/zh/factory/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/factory/README.md -------------------------------------------------------------------------------- /localization/zh/iterator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/iterator/README.md -------------------------------------------------------------------------------- /localization/zh/monitor/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/monitor/README.md -------------------------------------------------------------------------------- /localization/zh/observer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/observer/README.md -------------------------------------------------------------------------------- /localization/zh/proxy/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/proxy/README.md -------------------------------------------------------------------------------- /localization/zh/servant/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/servant/README.md -------------------------------------------------------------------------------- /localization/zh/sharding/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/sharding/README.md -------------------------------------------------------------------------------- /localization/zh/singleton/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/singleton/README.md -------------------------------------------------------------------------------- /localization/zh/state/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/state/README.md -------------------------------------------------------------------------------- /localization/zh/strategy/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/strategy/README.md -------------------------------------------------------------------------------- /localization/zh/trampoline/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/trampoline/README.md -------------------------------------------------------------------------------- /localization/zh/visitor/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/localization/zh/visitor/README.md -------------------------------------------------------------------------------- /lockable-object/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/lockable-object/README.md -------------------------------------------------------------------------------- /lockable-object/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/lockable-object/pom.xml -------------------------------------------------------------------------------- /lombok.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/lombok.config -------------------------------------------------------------------------------- /map-reduce/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/map-reduce/README.md -------------------------------------------------------------------------------- /map-reduce/etc/map-reduce.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/map-reduce/etc/map-reduce.png -------------------------------------------------------------------------------- /map-reduce/etc/map-reduce.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/map-reduce/etc/map-reduce.urm.puml -------------------------------------------------------------------------------- /map-reduce/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/map-reduce/pom.xml -------------------------------------------------------------------------------- /marker-interface/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /marker-interface/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/marker-interface/README.md -------------------------------------------------------------------------------- /marker-interface/etc/marker-interface.urm.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | @enduml -------------------------------------------------------------------------------- /marker-interface/etc/marker.urm.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | @enduml -------------------------------------------------------------------------------- /marker-interface/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/marker-interface/pom.xml -------------------------------------------------------------------------------- /master-worker/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/master-worker/README.md -------------------------------------------------------------------------------- /master-worker/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/master-worker/pom.xml -------------------------------------------------------------------------------- /mediator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/mediator/README.md -------------------------------------------------------------------------------- /mediator/etc/mediator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/mediator/etc/mediator.png -------------------------------------------------------------------------------- /mediator/etc/mediator.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/mediator/etc/mediator.ucls -------------------------------------------------------------------------------- /mediator/etc/mediator.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/mediator/etc/mediator.urm.puml -------------------------------------------------------------------------------- /mediator/etc/mediator_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/mediator/etc/mediator_1.png -------------------------------------------------------------------------------- /mediator/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/mediator/pom.xml -------------------------------------------------------------------------------- /memento/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/memento/README.md -------------------------------------------------------------------------------- /memento/etc/memento.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/memento/etc/memento.png -------------------------------------------------------------------------------- /memento/etc/memento.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/memento/etc/memento.ucls -------------------------------------------------------------------------------- /memento/etc/memento.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/memento/etc/memento.urm.puml -------------------------------------------------------------------------------- /memento/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/memento/pom.xml -------------------------------------------------------------------------------- /metadata-mapping/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/metadata-mapping/README.md -------------------------------------------------------------------------------- /metadata-mapping/etc/metamapping.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/metadata-mapping/etc/metamapping.png -------------------------------------------------------------------------------- /metadata-mapping/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/metadata-mapping/pom.xml -------------------------------------------------------------------------------- /microservices-aggregrator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/microservices-aggregrator/README.md -------------------------------------------------------------------------------- /microservices-aggregrator/etc/aggregator-microservices.urm.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | @enduml -------------------------------------------------------------------------------- /microservices-aggregrator/etc/microservices-aggregrator.urm.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | @enduml -------------------------------------------------------------------------------- /microservices-aggregrator/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/microservices-aggregrator/pom.xml -------------------------------------------------------------------------------- /microservices-api-gateway/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/microservices-api-gateway/README.md -------------------------------------------------------------------------------- /microservices-api-gateway/etc/api-gateway.urm.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | @enduml -------------------------------------------------------------------------------- /microservices-api-gateway/etc/microservices-api-gateway.urm.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | @enduml -------------------------------------------------------------------------------- /microservices-api-gateway/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/microservices-api-gateway/pom.xml -------------------------------------------------------------------------------- /model-view-controller/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/model-view-controller/README.md -------------------------------------------------------------------------------- /model-view-controller/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/model-view-controller/pom.xml -------------------------------------------------------------------------------- /model-view-intent/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/model-view-intent/README.md -------------------------------------------------------------------------------- /model-view-intent/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/model-view-intent/pom.xml -------------------------------------------------------------------------------- /model-view-presenter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/model-view-presenter/README.md -------------------------------------------------------------------------------- /model-view-presenter/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/model-view-presenter/pom.xml -------------------------------------------------------------------------------- /model-view-viewmodel/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/model-view-viewmodel/README.md -------------------------------------------------------------------------------- /model-view-viewmodel/lombok.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/model-view-viewmodel/lombok.config -------------------------------------------------------------------------------- /model-view-viewmodel/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/model-view-viewmodel/pom.xml -------------------------------------------------------------------------------- /monad/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/monad/README.md -------------------------------------------------------------------------------- /monad/etc/monad-flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/monad/etc/monad-flowchart.png -------------------------------------------------------------------------------- /monad/etc/monad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/monad/etc/monad.png -------------------------------------------------------------------------------- /monad/etc/monad.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/monad/etc/monad.ucls -------------------------------------------------------------------------------- /monad/etc/monad.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/monad/etc/monad.urm.puml -------------------------------------------------------------------------------- /monad/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/monad/pom.xml -------------------------------------------------------------------------------- /money/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/money/README.md -------------------------------------------------------------------------------- /money/etc/money-flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/money/etc/money-flowchart.png -------------------------------------------------------------------------------- /money/etc/money-mind-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/money/etc/money-mind-map.png -------------------------------------------------------------------------------- /money/etc/money.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/money/etc/money.urm.puml -------------------------------------------------------------------------------- /money/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/money/pom.xml -------------------------------------------------------------------------------- /monitor/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/monitor/README.md -------------------------------------------------------------------------------- /monitor/etc/monitor.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/monitor/etc/monitor.urm.png -------------------------------------------------------------------------------- /monitor/etc/monitor.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/monitor/etc/monitor.urm.puml -------------------------------------------------------------------------------- /monitor/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/monitor/pom.xml -------------------------------------------------------------------------------- /monolithic-architecture/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/monolithic-architecture/README.md -------------------------------------------------------------------------------- /monolithic-architecture/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/monolithic-architecture/pom.xml -------------------------------------------------------------------------------- /monostate/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/monostate/README.md -------------------------------------------------------------------------------- /monostate/etc/MonoState.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/monostate/etc/MonoState.ucls -------------------------------------------------------------------------------- /monostate/etc/monostate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/monostate/etc/monostate.png -------------------------------------------------------------------------------- /monostate/etc/monostate.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/monostate/etc/monostate.urm.puml -------------------------------------------------------------------------------- /monostate/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/monostate/pom.xml -------------------------------------------------------------------------------- /multiton/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/multiton/README.md -------------------------------------------------------------------------------- /multiton/etc/multiton-flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/multiton/etc/multiton-flowchart.png -------------------------------------------------------------------------------- /multiton/etc/multiton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/multiton/etc/multiton.png -------------------------------------------------------------------------------- /multiton/etc/multiton.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/multiton/etc/multiton.ucls -------------------------------------------------------------------------------- /multiton/etc/multiton.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/multiton/etc/multiton.urm.puml -------------------------------------------------------------------------------- /multiton/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/multiton/pom.xml -------------------------------------------------------------------------------- /mute-idiom/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/mute-idiom/README.md -------------------------------------------------------------------------------- /mute-idiom/etc/mute-idiom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/mute-idiom/etc/mute-idiom.png -------------------------------------------------------------------------------- /mute-idiom/etc/mute-idiom.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/mute-idiom/etc/mute-idiom.ucls -------------------------------------------------------------------------------- /mute-idiom/etc/mute-idiom.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/mute-idiom/etc/mute-idiom.urm.puml -------------------------------------------------------------------------------- /mute-idiom/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/mute-idiom/pom.xml -------------------------------------------------------------------------------- /mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/mvnw -------------------------------------------------------------------------------- /mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/mvnw.cmd -------------------------------------------------------------------------------- /naked-objects/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/naked-objects/README.md -------------------------------------------------------------------------------- /notification/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/notification/README.md -------------------------------------------------------------------------------- /notification/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/notification/pom.xml -------------------------------------------------------------------------------- /null-object/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/null-object/README.md -------------------------------------------------------------------------------- /null-object/etc/null-object.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/null-object/etc/null-object.png -------------------------------------------------------------------------------- /null-object/etc/null-object.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/null-object/etc/null-object.ucls -------------------------------------------------------------------------------- /null-object/etc/null-object.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/null-object/etc/null-object.urm.puml -------------------------------------------------------------------------------- /null-object/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/null-object/pom.xml -------------------------------------------------------------------------------- /object-mother/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/object-mother/README.md -------------------------------------------------------------------------------- /object-mother/etc/object-mother.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/object-mother/etc/object-mother.png -------------------------------------------------------------------------------- /object-mother/etc/object-mother.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/object-mother/etc/object-mother.ucls -------------------------------------------------------------------------------- /object-mother/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/object-mother/pom.xml -------------------------------------------------------------------------------- /object-pool/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/object-pool/README.md -------------------------------------------------------------------------------- /object-pool/etc/object-pool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/object-pool/etc/object-pool.png -------------------------------------------------------------------------------- /object-pool/etc/object-pool.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/object-pool/etc/object-pool.ucls -------------------------------------------------------------------------------- /object-pool/etc/object-pool.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/object-pool/etc/object-pool.urm.puml -------------------------------------------------------------------------------- /object-pool/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/object-pool/pom.xml -------------------------------------------------------------------------------- /observer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/observer/README.md -------------------------------------------------------------------------------- /observer/etc/observer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/observer/etc/observer.png -------------------------------------------------------------------------------- /observer/etc/observer.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/observer/etc/observer.ucls -------------------------------------------------------------------------------- /observer/etc/observer.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/observer/etc/observer.urm.puml -------------------------------------------------------------------------------- /observer/etc/observer_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/observer/etc/observer_1.png -------------------------------------------------------------------------------- /observer/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/observer/pom.xml -------------------------------------------------------------------------------- /optimistic-offline-lock/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/optimistic-offline-lock/README.md -------------------------------------------------------------------------------- /optimistic-offline-lock/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/optimistic-offline-lock/pom.xml -------------------------------------------------------------------------------- /page-controller/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/page-controller/README.md -------------------------------------------------------------------------------- /page-controller/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/page-controller/pom.xml -------------------------------------------------------------------------------- /page-object/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/page-object/README.md -------------------------------------------------------------------------------- /page-object/etc/page-object.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/page-object/etc/page-object.png -------------------------------------------------------------------------------- /page-object/etc/page-object.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/page-object/etc/page-object.ucls -------------------------------------------------------------------------------- /page-object/etc/page-object.urm.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | @enduml -------------------------------------------------------------------------------- /page-object/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/page-object/pom.xml -------------------------------------------------------------------------------- /page-object/test-automation/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/page-object/test-automation/pom.xml -------------------------------------------------------------------------------- /parameter-object/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/parameter-object/README.md -------------------------------------------------------------------------------- /parameter-object/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/parameter-object/pom.xml -------------------------------------------------------------------------------- /partial-response/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/partial-response/README.md -------------------------------------------------------------------------------- /partial-response/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/partial-response/pom.xml -------------------------------------------------------------------------------- /pipeline/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/pipeline/README.md -------------------------------------------------------------------------------- /pipeline/etc/pipeline-flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/pipeline/etc/pipeline-flowchart.png -------------------------------------------------------------------------------- /pipeline/etc/pipeline.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/pipeline/etc/pipeline.urm.png -------------------------------------------------------------------------------- /pipeline/etc/pipeline.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/pipeline/etc/pipeline.urm.puml -------------------------------------------------------------------------------- /pipeline/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/pipeline/pom.xml -------------------------------------------------------------------------------- /poison-pill/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/poison-pill/README.md -------------------------------------------------------------------------------- /poison-pill/etc/poison-pill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/poison-pill/etc/poison-pill.png -------------------------------------------------------------------------------- /poison-pill/etc/poison-pill.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/poison-pill/etc/poison-pill.ucls -------------------------------------------------------------------------------- /poison-pill/etc/poison-pill.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/poison-pill/etc/poison-pill.urm.puml -------------------------------------------------------------------------------- /poison-pill/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/poison-pill/pom.xml -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/pom.xml -------------------------------------------------------------------------------- /presentation-model/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/presentation-model/README.md -------------------------------------------------------------------------------- /presentation-model/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/presentation-model/pom.xml -------------------------------------------------------------------------------- /private-class-data/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/private-class-data/README.md -------------------------------------------------------------------------------- /private-class-data/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/private-class-data/pom.xml -------------------------------------------------------------------------------- /producer-consumer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/producer-consumer/README.md -------------------------------------------------------------------------------- /producer-consumer/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/producer-consumer/pom.xml -------------------------------------------------------------------------------- /promise/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/promise/README.md -------------------------------------------------------------------------------- /promise/etc/promise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/promise/etc/promise.png -------------------------------------------------------------------------------- /promise/etc/promise.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/promise/etc/promise.ucls -------------------------------------------------------------------------------- /promise/etc/promise.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/promise/etc/promise.urm.puml -------------------------------------------------------------------------------- /promise/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/promise/pom.xml -------------------------------------------------------------------------------- /property/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/property/README.md -------------------------------------------------------------------------------- /property/etc/property.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/property/etc/property.png -------------------------------------------------------------------------------- /property/etc/property.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/property/etc/property.ucls -------------------------------------------------------------------------------- /property/etc/property.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/property/etc/property.urm.puml -------------------------------------------------------------------------------- /property/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/property/pom.xml -------------------------------------------------------------------------------- /prototype/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/prototype/README.md -------------------------------------------------------------------------------- /prototype/etc/prototype.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/prototype/etc/prototype.urm.png -------------------------------------------------------------------------------- /prototype/etc/prototype.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/prototype/etc/prototype.urm.puml -------------------------------------------------------------------------------- /prototype/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/prototype/pom.xml -------------------------------------------------------------------------------- /proxy/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/proxy/README.md -------------------------------------------------------------------------------- /proxy/etc/proxy-sequence-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/proxy/etc/proxy-sequence-diagram.png -------------------------------------------------------------------------------- /proxy/etc/proxy.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/proxy/etc/proxy.urm.png -------------------------------------------------------------------------------- /proxy/etc/proxy.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/proxy/etc/proxy.urm.puml -------------------------------------------------------------------------------- /proxy/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/proxy/pom.xml -------------------------------------------------------------------------------- /publish-subscribe/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/publish-subscribe/README.md -------------------------------------------------------------------------------- /publish-subscribe/etc/pub-sub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/publish-subscribe/etc/pub-sub.png -------------------------------------------------------------------------------- /publish-subscribe/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/publish-subscribe/pom.xml -------------------------------------------------------------------------------- /queue-based-load-leveling/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/queue-based-load-leveling/README.md -------------------------------------------------------------------------------- /queue-based-load-leveling/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/queue-based-load-leveling/pom.xml -------------------------------------------------------------------------------- /reactor/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/reactor/README.md -------------------------------------------------------------------------------- /reactor/etc/reactor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/reactor/etc/reactor.png -------------------------------------------------------------------------------- /reactor/etc/reactor.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/reactor/etc/reactor.ucls -------------------------------------------------------------------------------- /reactor/etc/reactor.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/reactor/etc/reactor.urm.puml -------------------------------------------------------------------------------- /reactor/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/reactor/pom.xml -------------------------------------------------------------------------------- /registry/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/registry/README.md -------------------------------------------------------------------------------- /registry/etc/registry-flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/registry/etc/registry-flowchart.png -------------------------------------------------------------------------------- /registry/etc/registry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/registry/etc/registry.png -------------------------------------------------------------------------------- /registry/etc/registry.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/registry/etc/registry.urm.puml -------------------------------------------------------------------------------- /registry/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/registry/pom.xml -------------------------------------------------------------------------------- /repository/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/repository/README.md -------------------------------------------------------------------------------- /repository/etc/repository.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/repository/etc/repository.png -------------------------------------------------------------------------------- /repository/etc/repository.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/repository/etc/repository.ucls -------------------------------------------------------------------------------- /repository/etc/repository.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/repository/etc/repository.urm.puml -------------------------------------------------------------------------------- /repository/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/repository/pom.xml -------------------------------------------------------------------------------- /retry/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/retry/README.md -------------------------------------------------------------------------------- /retry/etc/retry-flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/retry/etc/retry-flowchart.png -------------------------------------------------------------------------------- /retry/etc/retry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/retry/etc/retry.png -------------------------------------------------------------------------------- /retry/etc/retry.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/retry/etc/retry.urm.puml -------------------------------------------------------------------------------- /retry/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/retry/pom.xml -------------------------------------------------------------------------------- /role-object/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/role-object/README.md -------------------------------------------------------------------------------- /role-object/etc/role-object.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/role-object/etc/role-object.urm.png -------------------------------------------------------------------------------- /role-object/etc/role-object.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/role-object/etc/role-object.urm.puml -------------------------------------------------------------------------------- /role-object/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/role-object/pom.xml -------------------------------------------------------------------------------- /saga/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/saga/README.md -------------------------------------------------------------------------------- /saga/etc/saga-flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/saga/etc/saga-flowchart.png -------------------------------------------------------------------------------- /saga/etc/saga.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/saga/etc/saga.urm.png -------------------------------------------------------------------------------- /saga/etc/saga.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/saga/etc/saga.urm.puml -------------------------------------------------------------------------------- /saga/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/saga/pom.xml -------------------------------------------------------------------------------- /separated-interface/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/separated-interface/README.md -------------------------------------------------------------------------------- /separated-interface/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/separated-interface/pom.xml -------------------------------------------------------------------------------- /serialized-entity/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/serialized-entity/README.md -------------------------------------------------------------------------------- /serialized-entity/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/serialized-entity/pom.xml -------------------------------------------------------------------------------- /serialized-lob/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/serialized-lob/README.md -------------------------------------------------------------------------------- /serialized-lob/etc/slob.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/serialized-lob/etc/slob.urm.png -------------------------------------------------------------------------------- /serialized-lob/etc/slob.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/serialized-lob/etc/slob.urm.puml -------------------------------------------------------------------------------- /serialized-lob/etc/slob.urm.uml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/serialized-lob/etc/slob.urm.uml -------------------------------------------------------------------------------- /serialized-lob/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/serialized-lob/pom.xml -------------------------------------------------------------------------------- /servant/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/servant/README.md -------------------------------------------------------------------------------- /servant/etc/servant-pattern.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/servant/etc/servant-pattern.png -------------------------------------------------------------------------------- /servant/etc/servant-pattern.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/servant/etc/servant-pattern.ucls -------------------------------------------------------------------------------- /servant/etc/servant.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/servant/etc/servant.urm.puml -------------------------------------------------------------------------------- /servant/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/servant/pom.xml -------------------------------------------------------------------------------- /servant/src/etc/servant.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/servant/src/etc/servant.jpg -------------------------------------------------------------------------------- /servant/src/etc/servant.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/servant/src/etc/servant.svg -------------------------------------------------------------------------------- /servant/src/etc/servant.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/servant/src/etc/servant.xml -------------------------------------------------------------------------------- /server-session/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/server-session/README.md -------------------------------------------------------------------------------- /server-session/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/server-session/pom.xml -------------------------------------------------------------------------------- /service-layer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/service-layer/README.md -------------------------------------------------------------------------------- /service-layer/etc/service-layer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/service-layer/etc/service-layer.png -------------------------------------------------------------------------------- /service-layer/etc/service-layer.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/service-layer/etc/service-layer.ucls -------------------------------------------------------------------------------- /service-layer/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/service-layer/pom.xml -------------------------------------------------------------------------------- /service-locator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/service-locator/README.md -------------------------------------------------------------------------------- /service-locator/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/service-locator/pom.xml -------------------------------------------------------------------------------- /service-stub/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/service-stub/README.md -------------------------------------------------------------------------------- /service-stub/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/service-stub/pom.xml -------------------------------------------------------------------------------- /service-to-worker/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/service-to-worker/README.md -------------------------------------------------------------------------------- /service-to-worker/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/service-to-worker/pom.xml -------------------------------------------------------------------------------- /session-facade/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/session-facade/README.md -------------------------------------------------------------------------------- /session-facade/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/session-facade/pom.xml -------------------------------------------------------------------------------- /sharding/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/sharding/README.md -------------------------------------------------------------------------------- /sharding/etc/sharding-flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/sharding/etc/sharding-flowchart.png -------------------------------------------------------------------------------- /sharding/etc/sharding.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/sharding/etc/sharding.urm.png -------------------------------------------------------------------------------- /sharding/etc/sharding.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/sharding/etc/sharding.urm.puml -------------------------------------------------------------------------------- /sharding/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/sharding/pom.xml -------------------------------------------------------------------------------- /single-table-inheritance/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/single-table-inheritance/README.md -------------------------------------------------------------------------------- /single-table-inheritance/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/single-table-inheritance/pom.xml -------------------------------------------------------------------------------- /singleton/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/singleton/README.md -------------------------------------------------------------------------------- /singleton/etc/singleton.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/singleton/etc/singleton.urm.png -------------------------------------------------------------------------------- /singleton/etc/singleton.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/singleton/etc/singleton.urm.puml -------------------------------------------------------------------------------- /singleton/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/singleton/pom.xml -------------------------------------------------------------------------------- /spatial-partition/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/spatial-partition/README.md -------------------------------------------------------------------------------- /spatial-partition/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/spatial-partition/pom.xml -------------------------------------------------------------------------------- /special-case/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/special-case/README.md -------------------------------------------------------------------------------- /special-case/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/special-case/pom.xml -------------------------------------------------------------------------------- /specification/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/specification/README.md -------------------------------------------------------------------------------- /specification/etc/specification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/specification/etc/specification.png -------------------------------------------------------------------------------- /specification/etc/specification.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/specification/etc/specification.ucls -------------------------------------------------------------------------------- /specification/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/specification/pom.xml -------------------------------------------------------------------------------- /state/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/state/README.md -------------------------------------------------------------------------------- /state/etc/state-flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/state/etc/state-flowchart.png -------------------------------------------------------------------------------- /state/etc/state.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/state/etc/state.urm.puml -------------------------------------------------------------------------------- /state/etc/state_urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/state/etc/state_urm.png -------------------------------------------------------------------------------- /state/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/state/pom.xml -------------------------------------------------------------------------------- /step-builder/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/step-builder/README.md -------------------------------------------------------------------------------- /step-builder/etc/step-builder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/step-builder/etc/step-builder.png -------------------------------------------------------------------------------- /step-builder/etc/step-builder.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/step-builder/etc/step-builder.ucls -------------------------------------------------------------------------------- /step-builder/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/step-builder/pom.xml -------------------------------------------------------------------------------- /strangler/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/strangler/README.md -------------------------------------------------------------------------------- /strangler/etc/strangler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/strangler/etc/strangler.png -------------------------------------------------------------------------------- /strangler/etc/strangler.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/strangler/etc/strangler.puml -------------------------------------------------------------------------------- /strangler/etc/strangler.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/strangler/etc/strangler.urm.puml -------------------------------------------------------------------------------- /strangler/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/strangler/pom.xml -------------------------------------------------------------------------------- /strategy/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/strategy/README.md -------------------------------------------------------------------------------- /strategy/etc/strategy-flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/strategy/etc/strategy-flowchart.png -------------------------------------------------------------------------------- /strategy/etc/strategy.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/strategy/etc/strategy.urm.puml -------------------------------------------------------------------------------- /strategy/etc/strategy_urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/strategy/etc/strategy_urm.png -------------------------------------------------------------------------------- /strategy/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/strategy/pom.xml -------------------------------------------------------------------------------- /subclass-sandbox/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/subclass-sandbox/README.md -------------------------------------------------------------------------------- /subclass-sandbox/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/subclass-sandbox/pom.xml -------------------------------------------------------------------------------- /table-inheritance/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/table-inheritance/README.md -------------------------------------------------------------------------------- /table-inheritance/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/table-inheritance/pom.xml -------------------------------------------------------------------------------- /table-module/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/table-module/README.md -------------------------------------------------------------------------------- /table-module/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/table-module/pom.xml -------------------------------------------------------------------------------- /template-method/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/template-method/README.md -------------------------------------------------------------------------------- /template-method/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/template-method/pom.xml -------------------------------------------------------------------------------- /templateview/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/templateview/README.md -------------------------------------------------------------------------------- /templateview/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/templateview/pom.xml -------------------------------------------------------------------------------- /thread-pool-executor/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/thread-pool-executor/README.md -------------------------------------------------------------------------------- /thread-pool-executor/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/thread-pool-executor/pom.xml -------------------------------------------------------------------------------- /throttling/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/throttling/README.md -------------------------------------------------------------------------------- /throttling/etc/throttling.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/throttling/etc/throttling.urm.puml -------------------------------------------------------------------------------- /throttling/etc/throttling_urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/throttling/etc/throttling_urm.png -------------------------------------------------------------------------------- /throttling/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/throttling/pom.xml -------------------------------------------------------------------------------- /tolerant-reader/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/tolerant-reader/README.md -------------------------------------------------------------------------------- /tolerant-reader/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/tolerant-reader/pom.xml -------------------------------------------------------------------------------- /trampoline/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | .idea/ 3 | -------------------------------------------------------------------------------- /trampoline/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/trampoline/README.md -------------------------------------------------------------------------------- /trampoline/etc/trampoline.urm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/trampoline/etc/trampoline.urm.png -------------------------------------------------------------------------------- /trampoline/etc/trampoline.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/trampoline/etc/trampoline.urm.puml -------------------------------------------------------------------------------- /trampoline/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/trampoline/pom.xml -------------------------------------------------------------------------------- /transaction-script/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | .idea/ 3 | -------------------------------------------------------------------------------- /transaction-script/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/transaction-script/README.md -------------------------------------------------------------------------------- /transaction-script/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/transaction-script/pom.xml -------------------------------------------------------------------------------- /twin/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /twin/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/twin/README.md -------------------------------------------------------------------------------- /twin/etc/twin-sequence-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/twin/etc/twin-sequence-diagram.png -------------------------------------------------------------------------------- /twin/etc/twin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/twin/etc/twin.png -------------------------------------------------------------------------------- /twin/etc/twin.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/twin/etc/twin.ucls -------------------------------------------------------------------------------- /twin/etc/twin.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/twin/etc/twin.urm.puml -------------------------------------------------------------------------------- /twin/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/twin/pom.xml -------------------------------------------------------------------------------- /type-object/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/type-object/README.md -------------------------------------------------------------------------------- /type-object/etc/type-object.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/type-object/etc/type-object.urm.puml -------------------------------------------------------------------------------- /type-object/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/type-object/pom.xml -------------------------------------------------------------------------------- /unit-of-work/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/unit-of-work/README.md -------------------------------------------------------------------------------- /unit-of-work/etc/unit-of-work.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/unit-of-work/etc/unit-of-work.ucls -------------------------------------------------------------------------------- /unit-of-work/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/unit-of-work/pom.xml -------------------------------------------------------------------------------- /update-method/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/update-method/README.md -------------------------------------------------------------------------------- /update-method/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/update-method/pom.xml -------------------------------------------------------------------------------- /value-object/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/value-object/README.md -------------------------------------------------------------------------------- /value-object/etc/value-object.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/value-object/etc/value-object.png -------------------------------------------------------------------------------- /value-object/etc/value-object.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/value-object/etc/value-object.ucls -------------------------------------------------------------------------------- /value-object/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/value-object/pom.xml -------------------------------------------------------------------------------- /version-number/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/version-number/README.md -------------------------------------------------------------------------------- /version-number/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/version-number/pom.xml -------------------------------------------------------------------------------- /virtual-proxy/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/virtual-proxy/.gitignore -------------------------------------------------------------------------------- /virtual-proxy/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/virtual-proxy/README.md -------------------------------------------------------------------------------- /virtual-proxy/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/virtual-proxy/pom.xml -------------------------------------------------------------------------------- /visitor/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/visitor/README.md -------------------------------------------------------------------------------- /visitor/etc/visitor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/visitor/etc/visitor.png -------------------------------------------------------------------------------- /visitor/etc/visitor.ucls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/visitor/etc/visitor.ucls -------------------------------------------------------------------------------- /visitor/etc/visitor.urm.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/visitor/etc/visitor.urm.puml -------------------------------------------------------------------------------- /visitor/etc/visitor_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/visitor/etc/visitor_1.png -------------------------------------------------------------------------------- /visitor/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iluwatar/java-design-patterns/HEAD/visitor/pom.xml --------------------------------------------------------------------------------