Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explanation for design patterns #590

Closed
iluwatar opened this issue Jun 11, 2017 · 40 comments · Fixed by #1791
Closed

Explanation for design patterns #590

iluwatar opened this issue Jun 11, 2017 · 40 comments · Fixed by #1791

Comments

@iluwatar
Copy link
Owner

iluwatar commented Jun 11, 2017

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
@iluwatar
Copy link
Owner Author

Changed https://github.com/iluwatar/java-design-patterns/wiki/02.-Pattern-template a bit. There is no diagram anymore. Explanation section was added.

iluwatar added a commit that referenced this issue Aug 12, 2017
iluwatar added a commit that referenced this issue Aug 12, 2017
iluwatar added a commit that referenced this issue Aug 13, 2017
iluwatar added a commit that referenced this issue Aug 16, 2017
iluwatar added a commit that referenced this issue Aug 19, 2017
iluwatar added a commit that referenced this issue Aug 19, 2017
guihualiang added a commit to guihualiang/java-design-patterns that referenced this issue Sep 5, 2017
iluwatar added a commit that referenced this issue Sep 5, 2017
iluwatar added a commit that referenced this issue Sep 6, 2017
iluwatar added a commit that referenced this issue Sep 13, 2017
@steph88ss
Copy link
Contributor

@iluwatar Hi, can I be assigned the reader-writer-lock pattern?

@XianWu99
Copy link
Contributor

@iluwatar Hi, can I be assigned to the data-mapper design pattern?

@iluwatar
Copy link
Owner Author

Github doesn't allow me to add any more assignees, but consider yourselves hired @steph88ss and @XianWu99

@shubhig226
Copy link

I want to help in this issue

@iluwatar
Copy link
Owner Author

@shubhig226 please mention the pattern you'd like to work on

@ManviGoel26
Copy link
Contributor

@iluwatar Can I please work on Producer-Consumer?

@iluwatar
Copy link
Owner Author

Sure, go ahead @ManviGoel26

@iluwatar
Copy link
Owner Author

I have split up this issue into multiple independent ones e.g. "Explanation for Bridge". If you are working on some explanation, please comment on the new issue and I'll assign it to you. I'll close this task now.

Repository owner moved this from In Progress to Done in Java Design Patterns project Oct 29, 2022
iluwatar pushed a commit that referenced this issue Oct 30, 2022
* Update README.md

* Update README.md

* Add Explanation

* Update README.md

* Update README.md

* Update README.md

* Update README.md
robertvolkmann pushed a commit to robertvolkmann/java-design-patterns that referenced this issue Nov 6, 2022
robertvolkmann pushed a commit to robertvolkmann/java-design-patterns that referenced this issue Nov 6, 2022
…tar#2170)

* Update README.md

* Update README.md

* Add Explanation

* Update README.md

* Update README.md

* Update README.md

* Update README.md
robertvolkmann added a commit to robertvolkmann/java-design-patterns that referenced this issue Nov 6, 2022
robertvolkmann added a commit to robertvolkmann/java-design-patterns that referenced this issue Nov 6, 2022
@iluwatar iluwatar unpinned this issue Nov 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment