Merge branch 'master' of https://github.com/iluwatar/java-design-patterns into Promise
This commit is contained in:
commit
4bd1f14cfb
@ -8,6 +8,7 @@ tags:
|
|||||||
- Java
|
- Java
|
||||||
- Difficulty-Intermediate
|
- Difficulty-Intermediate
|
||||||
- Functional
|
- Functional
|
||||||
|
- Reactive
|
||||||
---
|
---
|
||||||
|
|
||||||
## Intent
|
## Intent
|
||||||
|
@ -8,6 +8,7 @@ tags:
|
|||||||
- Java
|
- Java
|
||||||
- Gang Of Four
|
- Gang Of Four
|
||||||
- Difficulty-Intermediate
|
- Difficulty-Intermediate
|
||||||
|
- Functional
|
||||||
---
|
---
|
||||||
|
|
||||||
## Also known as
|
## Also known as
|
||||||
|
@ -7,6 +7,7 @@ categories: Structural
|
|||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Difficulty-Beginner
|
- Difficulty-Beginner
|
||||||
|
- Reactive
|
||||||
---
|
---
|
||||||
|
|
||||||
## Intent
|
## Intent
|
||||||
|
@ -1,7 +1,14 @@
|
|||||||
|
---
|
||||||
layout: pattern
|
layout: pattern
|
||||||
title: Event Driven Architecture
|
title: Event Driven Architecture
|
||||||
folder: event-driven-architecture
|
folder: event-driven-architecture
|
||||||
permalink: /patterns/event-driven-architecture
|
permalink: /patterns/event-driven-architecture/
|
||||||
|
categories: Architectural
|
||||||
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Intermediate
|
||||||
|
- Reactive
|
||||||
|
---
|
||||||
|
|
||||||
## Intent
|
## Intent
|
||||||
Send and notify state changes of your objects to other applications using an Event-driven Architecture.
|
Send and notify state changes of your objects to other applications using an Event-driven Architecture.
|
||||||
|
@ -6,7 +6,7 @@ permalink: /patterns/monad/
|
|||||||
categories: Other
|
categories: Other
|
||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Difficulty-Advanced
|
- Difficulty-Expert
|
||||||
- Functional
|
- Functional
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ tags:
|
|||||||
---
|
---
|
||||||
|
|
||||||
## Intent
|
## Intent
|
||||||
Provide a template to supress any exceptions that either are declared but cannot occur or should only be logged;
|
Provide a template to suppress any exceptions that either are declared but cannot occur or should only be logged;
|
||||||
while executing some business logic. The template removes the need to write repeated `try-catch` blocks.
|
while executing some business logic. The template removes the need to write repeated `try-catch` blocks.
|
||||||
|
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ while executing some business logic. The template removes the need to write repe
|
|||||||
## Applicability
|
## Applicability
|
||||||
Use this idiom when
|
Use this idiom when
|
||||||
|
|
||||||
* an API declares some exception but can never throw that exception. Eg. ByteArrayOutputStream bulk write method.
|
* an API declares some exception but can never throw that exception eg. ByteArrayOutputStream bulk write method.
|
||||||
* you need to suppress some exception just by logging it, such as closing a resource.
|
* you need to suppress some exception just by logging it, such as closing a resource.
|
||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
|
@ -3,10 +3,10 @@ layout: pattern
|
|||||||
title: Mutex
|
title: Mutex
|
||||||
folder: mutex
|
folder: mutex
|
||||||
permalink: /patterns/mutex/
|
permalink: /patterns/mutex/
|
||||||
categories: Lock
|
categories: Concurrency
|
||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Difficulty-Beginner
|
- Difficulty-Intermediate
|
||||||
---
|
---
|
||||||
|
|
||||||
## Also known as
|
## Also known as
|
||||||
|
@ -8,6 +8,7 @@ tags:
|
|||||||
- Java
|
- Java
|
||||||
- Difficulty-Beginner
|
- Difficulty-Beginner
|
||||||
- Gang Of Four
|
- Gang Of Four
|
||||||
|
- Reactive
|
||||||
---
|
---
|
||||||
|
|
||||||
## Also known as
|
## Also known as
|
||||||
|
@ -7,9 +7,6 @@ categories: Testing
|
|||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Difficulty-Intermediate
|
- Difficulty-Intermediate
|
||||||
- Testing
|
|
||||||
- Web Development
|
|
||||||
- Encapsulation
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Intent
|
## Intent
|
||||||
|
@ -7,6 +7,7 @@ categories: Other
|
|||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Difficulty-Intermediate
|
- Difficulty-Intermediate
|
||||||
|
- Reactive
|
||||||
---
|
---
|
||||||
|
|
||||||
## Intent
|
## Intent
|
||||||
|
@ -8,6 +8,7 @@ tags:
|
|||||||
- Java
|
- Java
|
||||||
- Difficulty-Intermediate
|
- Difficulty-Intermediate
|
||||||
- I/O
|
- I/O
|
||||||
|
- Reactive
|
||||||
---
|
---
|
||||||
|
|
||||||
## Intent
|
## Intent
|
||||||
|
@ -3,9 +3,12 @@ layout: pattern
|
|||||||
title: Reader Writer Lock
|
title: Reader Writer Lock
|
||||||
folder: reader-writer-lock
|
folder: reader-writer-lock
|
||||||
permalink: /patterns/reader-writer-lock/
|
permalink: /patterns/reader-writer-lock/
|
||||||
categories: Concurrent
|
categories: Concurrency
|
||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
|
- Difficulty-Intermediate
|
||||||
|
- I/O
|
||||||
|
- Performance
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:**
|
**Intent:**
|
||||||
|
@ -3,10 +3,10 @@ layout: pattern
|
|||||||
title: Semaphore
|
title: Semaphore
|
||||||
folder: semaphore
|
folder: semaphore
|
||||||
permalink: /patterns/semaphore/
|
permalink: /patterns/semaphore/
|
||||||
categories: Lock
|
categories: Concurrency
|
||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Difficulty-Beginner
|
- Difficulty-Intermediate
|
||||||
---
|
---
|
||||||
|
|
||||||
## Also known as
|
## Also known as
|
||||||
|
@ -26,6 +26,10 @@ Use the Specification pattern when
|
|||||||
* you need to select a subset of objects based on some criteria, and to refresh the selection at various times
|
* you need to select a subset of objects based on some criteria, and to refresh the selection at various times
|
||||||
* you need to check that only suitable objects are used for a certain role (validation)
|
* you need to check that only suitable objects are used for a certain role (validation)
|
||||||
|
|
||||||
|
## Related patterns
|
||||||
|
|
||||||
|
* Repository
|
||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
|
|
||||||
* [Martin Fowler - Specifications](http://martinfowler.com/apsupp/spec.pdf)
|
* [Martin Fowler - Specifications](http://martinfowler.com/apsupp/spec.pdf)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user