Skip to content

Explanation for design patterns #590

@iluwatar

Description

@iluwatar

We want to present the design patterns better as the current does not reach its goal of explaining how the pattern works in a simplest possible way. I'm hugely inspired by https://github.com/kamranahmedse/design-patterns-for-humans repository.

Let's do this by adding 'Explanation' section to the patterns' README.md file. For an example see http://java-design-patterns.com/patterns/bridge/.

Let's track the issue progress here with the following checklist that indicates the patterns where explanation section is already available.

  • abstract-document
  • abstract-factory
  • active-object
  • acyclic-visitor
  • adapter
  • aggregator-microservices
  • ambassador
  • api-gateway
  • arrange-act-assert
  • async-method-invocation
  • balking
  • bridge
  • builder
  • business-delegate
  • bytecode
  • caching
  • callback
  • chain
  • circuit-breaker
  • cloud-static-content-hosting
  • collection-pipeline
  • combinator
  • command
  • commander
  • composite
  • composite-entity
  • converter
  • cqrs
  • dao
  • data-bus
  • data-locality
  • data-mapper
  • data-transfer-object
  • decorator
  • delegation
  • dependency-injection
  • dirty-flag
  • double-buffer
  • double-checked-locking
  • double-dispatch
  • eip-aggregator
  • eip-message-channel
  • eip-publish-subscribe
  • eip-splitter
  • eip-wire-tap
  • event-aggregator
  • event-based-asynchronous
  • event-driven-architecture
  • event-queue
  • event-sourcing
  • execute-around
  • extension-objects
  • facade
  • factory
  • factory-kit
  • factory-method
  • fan-out-fan-in
  • feature-toggle
  • filterer
  • fluentinterface
  • flux
  • flyweight
  • front-controller
  • game-loop
  • guarded-suspension
  • half-sync-half-async
  • hexagonal
  • intercepting-filter
  • interpreter
  • iterator
  • layers
  • lazy-loading
  • leader-election
  • leader-followers
  • lockable-object
  • marker-interface
  • master-worker
  • mediator
  • memento
  • model-view-controller
  • model-view-presenter
  • model-view-viewmodel
  • module
  • monad
  • monostate
  • multiton
  • mute-idiom
  • naked-objects
  • null-object
  • object-mother
  • object-pool
  • observer
  • page-object
  • parameter-object
  • partial-response
  • pipeline
  • poison-pill
  • presentation-model
  • priority-queue
  • private-class-data
  • producer-consumer
  • promise
  • property
  • prototype
  • proxy
  • queue-based-load-leveling
  • reactor
  • reader-writer-lock
  • registry
  • repository
  • resource-acquisition-is-initialization
  • retry
  • role-object
  • saga
  • semaphore
  • separated-interface
  • servant
  • serverless
  • service-layer
  • service-locator
  • sharding
  • singleton
  • spatial-partition
  • special-case
  • specification
  • state
  • step-builder
  • strangler
  • strategy
  • subclass-sandbox
  • table-module
  • template-method
  • thread-pool
  • throttling
  • thread-local-storage
  • tolerant-reader
  • trampoline
  • transaction-script
  • twin
  • type-object
  • unit-of-work
  • update-method
  • value-object
  • version-number
  • visitor

Metadata

Metadata

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions