Skip to content

Commit b2b1ba9

Browse files
committed
iluwatar/java-design-patterns-web#8 Update pattern categories and tags
1 parent 0335c61 commit b2b1ba9

File tree

127 files changed

+282
-450
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+282
-450
lines changed

abstract-document/README.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ folder: abstract-document
55
permalink: /patterns/abstract-document/
66
categories: Structural
77
tags:
8-
- Java
9-
- Difficulty-Intermediate
8+
- Extensibility
109
---
1110

1211
## Intent

abstract-factory/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@ folder: abstract-factory
55
permalink: /patterns/abstract-factory/
66
categories: Creational
77
tags:
8-
- Java
98
- Gang Of Four
10-
- Difficulty-Intermediate
119
---
1210

1311
## Also known as

acyclic-visitor/README.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ folder: acyclic-visitor
55
permalink: /patterns/acyclic-visitor/
66
categories: Behavioral
77
tags:
8-
- Java
9-
- Difficulty-Intermediate
8+
- Extensibility
109
---
1110

1211
## Intent

adapter/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@ folder: adapter
55
permalink: /patterns/adapter/
66
categories: Structural
77
tags:
8-
- Java
98
- Gang Of Four
10-
- Difficulty-Beginner
119
---
1210

1311
## Also known as

aggregator-microservices/README.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ folder: aggregator-microservices
55
permalink: /patterns/aggregator-microservices/
66
categories: Architectural
77
tags:
8-
- Java
9-
- Spring
8+
- Cloud distributed
109
---
1110

1211
## Intent

ambassador/README.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ folder: ambassador
55
permalink: /patterns/ambassador/
66
categories: Structural
77
tags:
8-
- Java
9-
- Difficulty-Intermediate
8+
- Decoupling
109
---
1110

1211
## Intent

api-gateway/README.md

+2-3
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@ folder: api-gateway
55
permalink: /patterns/api-gateway/
66
categories: Architectural
77
tags:
8-
- Java
9-
- Difficulty-Intermediate
10-
- Spring
8+
- Cloud distributed
9+
- Decoupling
1110
---
1211

1312
## Intent

async-method-invocation/README.md

-3
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,6 @@ folder: async-method-invocation
55
permalink: /patterns/async-method-invocation/
66
categories: Concurrency
77
tags:
8-
- Java
9-
- Difficulty-Intermediate
10-
- Functional
118
- Reactive
129
---
1310

balking/README.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ folder: balking
55
permalink: /patterns/balking/
66
categories: Concurrency
77
tags:
8-
- Java
9-
- Difficulty-Beginner
8+
- Decoupling
109
---
1110

1211
## Intent

bridge/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@ folder: bridge
55
permalink: /patterns/bridge/
66
categories: Structural
77
tags:
8-
- Java
98
- Gang Of Four
10-
- Difficulty-Intermediate
119
---
1210

1311
## Also known as

builder/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@ folder: builder
55
permalink: /patterns/builder/
66
categories: Creational
77
tags:
8-
- Java
98
- Gang Of Four
10-
- Difficulty-Intermediate
119
---
1210

1311
## Intent

business-delegate/README.md

+2-3
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@ layout: pattern
33
title: Business Delegate
44
folder: business-delegate
55
permalink: /patterns/business-delegate/
6-
categories: Business Tier
6+
categories: Structural
77
tags:
8-
- Java
9-
- Difficulty-Intermediate
8+
- Decoupling
109
---
1110

1211
## Intent

bytecode/README.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ folder: bytecode
55
permalink: /patterns/bytecode/
66
categories: Behavioral
77
tags:
8-
- Java
9-
- Difficulty-Beginner
8+
- Game programming
109
---
1110

1211
## Intent

caching/README.md

+1-3
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,8 @@ layout: pattern
33
title: Caching
44
folder: caching
55
permalink: /patterns/caching/
6-
categories: Other
6+
categories: Behavioral
77
tags:
8-
- Java
9-
- Difficulty-Intermediate
108
- Performance
119
---
1210

callback/README.md

+2-5
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,9 @@ layout: pattern
33
title: Callback
44
folder: callback
55
permalink: /patterns/callback/
6-
categories: Other
6+
categories: Idiom
77
tags:
8-
- Java
9-
- Difficulty-Beginner
10-
- Functional
11-
- Idiom
8+
- Reactive
129
---
1310

1411
## Intent

chain/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@ folder: chain
55
permalink: /patterns/chain/
66
categories: Behavioral
77
tags:
8-
- Java
98
- Gang Of Four
10-
- Difficulty-Intermediate
119
---
1210

1311
## Intent

circuit-breaker/README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,10 @@ layout: pattern
33
title: Circuit Breaker
44
folder: circuit-breaker
55
permalink: /patterns/circuit-breaker/
6-
categories: Other
6+
categories: Behavioral
77
tags:
8-
- Java
98
- Performance
10-
- Difficulty-Intermediate
9+
- Decoupling
1110
---
1211

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

181180
## Real world examples
181+
182182
* [Spring Circuit Breaker module](https://spring.io/guides/gs/circuit-breaker)
183183
* [Netflix Hystrix API](https://github.com/Netflix/Hystrix)
184184

collection-pipeline/README.md

+3-5
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@ layout: pattern
33
title: Collection Pipeline
44
folder: collection-pipeline
55
permalink: /patterns/collection-pipeline/
6-
categories: Other
6+
categories: Functional
77
tags:
8-
- Java
9-
- Difficulty-Beginner
10-
- Functional
8+
- Reactive
119
---
1210

1311
## Intent
@@ -28,4 +26,4 @@ Use the Collection Pipeline pattern when
2826

2927
* [Function composition and the Collection Pipeline pattern](https://www.ibm.com/developerworks/library/j-java8idioms2/index.html)
3028
* [Martin Fowler](https://martinfowler.com/articles/collection-pipeline/)
31-
* [Java8 Streams](https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html)
29+
* [Java8 Streams](https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html)

combinator/README.md

+5-4
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@ layout: pattern
33
title: Combinator
44
folder: combinator
55
permalink: /patterns/combinator/
6-
categories: Behavioral
6+
categories: Idiom
77
tags:
8-
- Functional
98
- Reactive
10-
- Idiom
119
---
1210

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

2422
## Applicability
2523
Use the combinator pattern when:
24+
2625
- You are able to create a more complex value from more plain values but having the same type(a combination of them)
2726

2827
## Real world examples
28+
2929
- java.util.function.Function#compose
3030
- java.util.function.Function#andThen
3131

3232
## Credits
33+
3334
- [Example for java](https://gtrefs.github.io/code/combinator-pattern/)
3435
- [Combinator pattern](https://wiki.haskell.org/Combinator_pattern)
35-
- [Combinatory logic](https://wiki.haskell.org/Combinatory_logic)
36+
- [Combinatory logic](https://wiki.haskell.org/Combinatory_logic)

command/README.md

-3
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@ folder: command
55
permalink: /patterns/command/
66
categories: Behavioral
77
tags:
8-
- Java
98
- Gang Of Four
10-
- Difficulty-Intermediate
11-
- Functional
129
---
1310

1411
## Also known as

commander/README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@ layout: pattern
33
title: Commander
44
folder: commander
55
permalink: /patterns/commander/
6-
categories: Other
6+
categories: Concurrency
77
tags:
8-
- Java
9-
- Difficulty-Intermediate
8+
- Cloud distributed
109
---
1110

1211
## Intent
@@ -24,4 +23,5 @@ Handling distributed transactions can be tricky, but if we choose to not handle
2423
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.
2524

2625
## Credits
26+
2727
* [https://www.grahamlea.com/2016/08/distributed-transactions-microservices-icebergs/]

composite/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@ folder: composite
55
permalink: /patterns/composite/
66
categories: Structural
77
tags:
8-
- Java
98
- Gang Of Four
10-
- Difficulty-Intermediate
119
---
1210

1311
## Intent

converter/README.md

+2-3
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@ layout: pattern
33
title: Converter
44
folder: converter
55
permalink: /patterns/converter/
6-
categories: Business Tier
6+
categories: Creational
77
tags:
8-
- Java
9-
- Difficulty-Beginner
8+
- Decoupling
109
---
1110

1211
## Intent

cqrs/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ folder: cqrs
55
permalink: /patterns/cqrs/
66
categories: Architectural
77
tags:
8-
- Java
9-
- Difficulty-Intermediate
8+
- Performance
9+
- Cloud distributed
1010
---
1111

1212
## Intent

dao/README.md

+2-3
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@ layout: pattern
33
title: Data Access Object
44
folder: dao
55
permalink: /patterns/dao/
6-
categories: Persistence Tier
6+
categories: Architectural
77
tags:
8-
- Java
9-
- Difficulty-Beginner
8+
- Data access
109
---
1110

1211
## Intent

data-bus/README.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ permalink: /patterns/data-bus/
66

77
categories: Architectural
88
tags:
9-
- Java
10-
- Difficulty-Intermediate
9+
- Decoupling
1110
---
1211

1312
## Intent

data-locality/README.md

+2-3
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@ layout: pattern
33
title: Data Locality
44
folder: data-locality
55
permalink: /patterns/data-locality/
6-
categories: Other
6+
categories: Behavioral
77
tags:
8-
- Java
9-
- Difficulty-Intermediate
8+
- Game programming
109
- Performance
1110
---
1211

data-mapper/README.md

+2-3
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@ layout: pattern
33
title: Data Mapper
44
folder: data-mapper
55
permalink: /patterns/data-mapper/
6-
categories: Persistence Tier
6+
categories: Architectural
77
tags:
8-
- Java
9-
- Difficulty-Beginner
8+
- Decoupling
109
---
1110

1211
## Intent

data-transfer-object/README.md

+1-4
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@ folder: data-transfer-object
55
permalink: /patterns/data-transfer-object/
66
categories: Architectural
77
tags:
8-
- Java
9-
- KISS
10-
- YAGNI
11-
- Difficulty-Beginner
8+
- Performance
129
---
1310

1411
## Intent

decorator/README.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@ folder: decorator
55
permalink: /patterns/decorator/
66
categories: Structural
77
tags:
8-
- Java
98
- Gang Of Four
10-
- Difficulty-Beginner
9+
- Extensibility
1110
---
1211

1312
## Also known as

delegation/README.md

+2-3
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@ layout: pattern
33
title: Delegation
44
folder: delegation
55
permalink: /patterns/delegation/
6-
categories: Behavioral
6+
categories: Structural
77
tags:
8-
- Java
9-
- Difficulty-Beginner
8+
- Decoupling
109
---
1110

1211
## Also known as

0 commit comments

Comments
 (0)