Skip to content

Commit

Permalink
iluwatar/java-design-patterns-web#8 Update pattern categories and tags
Browse files Browse the repository at this point in the history
  • Loading branch information
iluwatar committed Dec 13, 2019
1 parent 0335c61 commit b2b1ba9
Show file tree
Hide file tree
Showing 127 changed files with 282 additions and 450 deletions.
3 changes: 1 addition & 2 deletions abstract-document/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ folder: abstract-document
permalink: /patterns/abstract-document/
categories: Structural
tags:
- Java
- Difficulty-Intermediate
- Extensibility
---

## Intent
Expand Down
2 changes: 0 additions & 2 deletions abstract-factory/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@ folder: abstract-factory
permalink: /patterns/abstract-factory/
categories: Creational
tags:
- Java
- Gang Of Four
- Difficulty-Intermediate
---

## Also known as
Expand Down
3 changes: 1 addition & 2 deletions acyclic-visitor/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ folder: acyclic-visitor
permalink: /patterns/acyclic-visitor/
categories: Behavioral
tags:
- Java
- Difficulty-Intermediate
- Extensibility
---

## Intent
Expand Down
2 changes: 0 additions & 2 deletions adapter/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@ folder: adapter
permalink: /patterns/adapter/
categories: Structural
tags:
- Java
- Gang Of Four
- Difficulty-Beginner
---

## Also known as
Expand Down
3 changes: 1 addition & 2 deletions aggregator-microservices/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ folder: aggregator-microservices
permalink: /patterns/aggregator-microservices/
categories: Architectural
tags:
- Java
- Spring
- Cloud distributed
---

## Intent
Expand Down
3 changes: 1 addition & 2 deletions ambassador/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ folder: ambassador
permalink: /patterns/ambassador/
categories: Structural
tags:
- Java
- Difficulty-Intermediate
- Decoupling
---

## Intent
Expand Down
5 changes: 2 additions & 3 deletions api-gateway/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,8 @@ folder: api-gateway
permalink: /patterns/api-gateway/
categories: Architectural
tags:
- Java
- Difficulty-Intermediate
- Spring
- Cloud distributed
- Decoupling
---

## Intent
Expand Down
3 changes: 0 additions & 3 deletions async-method-invocation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@ folder: async-method-invocation
permalink: /patterns/async-method-invocation/
categories: Concurrency
tags:
- Java
- Difficulty-Intermediate
- Functional
- Reactive
---

Expand Down
3 changes: 1 addition & 2 deletions balking/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ folder: balking
permalink: /patterns/balking/
categories: Concurrency
tags:
- Java
- Difficulty-Beginner
- Decoupling
---

## Intent
Expand Down
2 changes: 0 additions & 2 deletions bridge/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@ folder: bridge
permalink: /patterns/bridge/
categories: Structural
tags:
- Java
- Gang Of Four
- Difficulty-Intermediate
---

## Also known as
Expand Down
2 changes: 0 additions & 2 deletions builder/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@ folder: builder
permalink: /patterns/builder/
categories: Creational
tags:
- Java
- Gang Of Four
- Difficulty-Intermediate
---

## Intent
Expand Down
5 changes: 2 additions & 3 deletions business-delegate/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@ layout: pattern
title: Business Delegate
folder: business-delegate
permalink: /patterns/business-delegate/
categories: Business Tier
categories: Structural
tags:
- Java
- Difficulty-Intermediate
- Decoupling
---

## Intent
Expand Down
3 changes: 1 addition & 2 deletions bytecode/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ folder: bytecode
permalink: /patterns/bytecode/
categories: Behavioral
tags:
- Java
- Difficulty-Beginner
- Game programming
---

## Intent
Expand Down
4 changes: 1 addition & 3 deletions caching/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,8 @@ layout: pattern
title: Caching
folder: caching
permalink: /patterns/caching/
categories: Other
categories: Behavioral
tags:
- Java
- Difficulty-Intermediate
- Performance
---

Expand Down
7 changes: 2 additions & 5 deletions callback/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,9 @@ layout: pattern
title: Callback
folder: callback
permalink: /patterns/callback/
categories: Other
categories: Idiom
tags:
- Java
- Difficulty-Beginner
- Functional
- Idiom
- Reactive
---

## Intent
Expand Down
2 changes: 0 additions & 2 deletions chain/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@ folder: chain
permalink: /patterns/chain/
categories: Behavioral
tags:
- Java
- Gang Of Four
- Difficulty-Intermediate
---

## Intent
Expand Down
6 changes: 3 additions & 3 deletions circuit-breaker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,10 @@ layout: pattern
title: Circuit Breaker
folder: circuit-breaker
permalink: /patterns/circuit-breaker/
categories: Other
categories: Behavioral
tags:
- Java
- Performance
- Difficulty-Intermediate
- Decoupling
---

## Intent
Expand Down Expand Up @@ -179,6 +178,7 @@ Use the Circuit Breaker pattern when
- [Retry Pattern](https://github.com/iluwatar/java-design-patterns/tree/master/retry)

## Real world examples

* [Spring Circuit Breaker module](https://spring.io/guides/gs/circuit-breaker)
* [Netflix Hystrix API](https://github.com/Netflix/Hystrix)

Expand Down
8 changes: 3 additions & 5 deletions collection-pipeline/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,9 @@ layout: pattern
title: Collection Pipeline
folder: collection-pipeline
permalink: /patterns/collection-pipeline/
categories: Other
categories: Functional
tags:
- Java
- Difficulty-Beginner
- Functional
- Reactive
---

## Intent
Expand All @@ -28,4 +26,4 @@ Use the Collection Pipeline pattern when

* [Function composition and the Collection Pipeline pattern](https://www.ibm.com/developerworks/library/j-java8idioms2/index.html)
* [Martin Fowler](https://martinfowler.com/articles/collection-pipeline/)
* [Java8 Streams](https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html)
* [Java8 Streams](https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html)
9 changes: 5 additions & 4 deletions combinator/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,9 @@ layout: pattern
title: Combinator
folder: combinator
permalink: /patterns/combinator/
categories: Behavioral
categories: Idiom
tags:
- Functional
- Reactive
- Idiom
---

## Also known as
Expand All @@ -23,13 +21,16 @@ and some "combinators" which can combine values of type T in various ways to bui

## Applicability
Use the combinator pattern when:

- You are able to create a more complex value from more plain values but having the same type(a combination of them)

## Real world examples

- java.util.function.Function#compose
- java.util.function.Function#andThen

## Credits

- [Example for java](https://gtrefs.github.io/code/combinator-pattern/)
- [Combinator pattern](https://wiki.haskell.org/Combinator_pattern)
- [Combinatory logic](https://wiki.haskell.org/Combinatory_logic)
- [Combinatory logic](https://wiki.haskell.org/Combinatory_logic)
3 changes: 0 additions & 3 deletions command/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,7 @@ folder: command
permalink: /patterns/command/
categories: Behavioral
tags:
- Java
- Gang Of Four
- Difficulty-Intermediate
- Functional
---

## Also known as
Expand Down
6 changes: 3 additions & 3 deletions commander/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@ layout: pattern
title: Commander
folder: commander
permalink: /patterns/commander/
categories: Other
categories: Concurrency
tags:
- Java
- Difficulty-Intermediate
- Cloud distributed
---

## Intent
Expand All @@ -24,4 +23,5 @@ Handling distributed transactions can be tricky, but if we choose to not handle
We need a mechanism in place which can handle these kinds of situations. We have to direct the order to either one of the services (in this example, shipping) and then add the order into the database of the other service (in this example, payment), since two databses cannot be updated atomically. If currently unable to do it, there should be a queue where this request can be queued, and there has to be a mechanism which allows for a failure in the queueing as well. All this needs to be done by constant retries while ensuring idempotence (even if the request is made several times, the change should only be applied once) by a commander class, to reach a state of eventual consistency.

## Credits

* [https://www.grahamlea.com/2016/08/distributed-transactions-microservices-icebergs/]
2 changes: 0 additions & 2 deletions composite/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@ folder: composite
permalink: /patterns/composite/
categories: Structural
tags:
- Java
- Gang Of Four
- Difficulty-Intermediate
---

## Intent
Expand Down
5 changes: 2 additions & 3 deletions converter/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@ layout: pattern
title: Converter
folder: converter
permalink: /patterns/converter/
categories: Business Tier
categories: Creational
tags:
- Java
- Difficulty-Beginner
- Decoupling
---

## Intent
Expand Down
4 changes: 2 additions & 2 deletions cqrs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ folder: cqrs
permalink: /patterns/cqrs/
categories: Architectural
tags:
- Java
- Difficulty-Intermediate
- Performance
- Cloud distributed
---

## Intent
Expand Down
5 changes: 2 additions & 3 deletions dao/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@ layout: pattern
title: Data Access Object
folder: dao
permalink: /patterns/dao/
categories: Persistence Tier
categories: Architectural
tags:
- Java
- Difficulty-Beginner
- Data access
---

## Intent
Expand Down
3 changes: 1 addition & 2 deletions data-bus/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ permalink: /patterns/data-bus/

categories: Architectural
tags:
- Java
- Difficulty-Intermediate
- Decoupling
---

## Intent
Expand Down
5 changes: 2 additions & 3 deletions data-locality/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@ layout: pattern
title: Data Locality
folder: data-locality
permalink: /patterns/data-locality/
categories: Other
categories: Behavioral
tags:
- Java
- Difficulty-Intermediate
- Game programming
- Performance
---

Expand Down
5 changes: 2 additions & 3 deletions data-mapper/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@ layout: pattern
title: Data Mapper
folder: data-mapper
permalink: /patterns/data-mapper/
categories: Persistence Tier
categories: Architectural
tags:
- Java
- Difficulty-Beginner
- Decoupling
---

## Intent
Expand Down
5 changes: 1 addition & 4 deletions data-transfer-object/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,7 @@ folder: data-transfer-object
permalink: /patterns/data-transfer-object/
categories: Architectural
tags:
- Java
- KISS
- YAGNI
- Difficulty-Beginner
- Performance
---

## Intent
Expand Down
3 changes: 1 addition & 2 deletions decorator/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,8 @@ folder: decorator
permalink: /patterns/decorator/
categories: Structural
tags:
- Java
- Gang Of Four
- Difficulty-Beginner
- Extensibility
---

## Also known as
Expand Down
5 changes: 2 additions & 3 deletions delegation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@ layout: pattern
title: Delegation
folder: delegation
permalink: /patterns/delegation/
categories: Behavioral
categories: Structural
tags:
- Java
- Difficulty-Beginner
- Decoupling
---

## Also known as
Expand Down
Loading

0 comments on commit b2b1ba9

Please sign in to comment.