Categorize and tag all patterns #213
This commit is contained in:
parent
fefb51c46e
commit
7ac7e3b097
@ -7,6 +7,7 @@ categories: Creational
|
|||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Gang Of Four
|
- Gang Of Four
|
||||||
|
- Difficulty-Intermediate
|
||||||
---
|
---
|
||||||
|
|
||||||
**Also known as:** Kit
|
**Also known as:** Kit
|
||||||
|
@ -7,6 +7,7 @@ categories: Structural
|
|||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Gang Of Four
|
- Gang Of Four
|
||||||
|
- Difficulty-Beginner
|
||||||
---
|
---
|
||||||
|
|
||||||
**Also known as:** Wrapper
|
**Also known as:** Wrapper
|
||||||
|
@ -4,7 +4,10 @@ title: Async Method Invocation
|
|||||||
folder: async-method-invocation
|
folder: async-method-invocation
|
||||||
permalink: /patterns/async-method-invocation/
|
permalink: /patterns/async-method-invocation/
|
||||||
categories: Concurrency
|
categories: Concurrency
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Intermediate
|
||||||
|
- Functional
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Asynchronous method invocation is pattern where the calling thread
|
**Intent:** Asynchronous method invocation is pattern where the calling thread
|
||||||
|
@ -7,6 +7,7 @@ categories: Structural
|
|||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Gang Of Four
|
- Gang Of Four
|
||||||
|
- Difficulty-Intermediate
|
||||||
---
|
---
|
||||||
|
|
||||||
**Also known as:** Handle/Body
|
**Also known as:** Handle/Body
|
||||||
|
@ -7,6 +7,7 @@ categories: Creational
|
|||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Gang Of Four
|
- Gang Of Four
|
||||||
|
- Difficulty-Intermediate
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Separate the construction of a complex object from its
|
**Intent:** Separate the construction of a complex object from its
|
||||||
|
@ -4,7 +4,9 @@ title: Business Delegate
|
|||||||
folder: business-delegate
|
folder: business-delegate
|
||||||
permalink: /patterns/business-delegate/
|
permalink: /patterns/business-delegate/
|
||||||
categories: Business Tier
|
categories: Business Tier
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Intermediate
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** The Business Delegate pattern adds an abstraction layer between
|
**Intent:** The Business Delegate pattern adds an abstraction layer between
|
||||||
|
@ -6,6 +6,8 @@ permalink: /patterns/caching/
|
|||||||
categories: Other
|
categories: Other
|
||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
|
- Difficulty-Intermediate
|
||||||
|
- Caching
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** To avoid expensive re-acquisition of resources by not releasing
|
**Intent:** To avoid expensive re-acquisition of resources by not releasing
|
||||||
|
@ -4,7 +4,11 @@ title: Callback
|
|||||||
folder: callback
|
folder: callback
|
||||||
permalink: /patterns/callback/
|
permalink: /patterns/callback/
|
||||||
categories: Other
|
categories: Other
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Beginner
|
||||||
|
- Functional
|
||||||
|
- Idiom
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Callback is a piece of executable code that is passed as an
|
**Intent:** Callback is a piece of executable code that is passed as an
|
||||||
|
@ -7,6 +7,7 @@ categories: Behavioral
|
|||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Gang Of Four
|
- Gang Of Four
|
||||||
|
- Difficulty-Intermediate
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Avoid coupling the sender of a request to its receiver by giving
|
**Intent:** Avoid coupling the sender of a request to its receiver by giving
|
||||||
|
@ -7,6 +7,7 @@ categories: Behavioral
|
|||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Gang Of Four
|
- Gang Of Four
|
||||||
|
- Difficulty-Intermediate
|
||||||
---
|
---
|
||||||
|
|
||||||
**Also known as:** Action, Transaction
|
**Also known as:** Action, Transaction
|
||||||
|
@ -7,6 +7,7 @@ categories: Structural
|
|||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Gang Of Four
|
- Gang Of Four
|
||||||
|
- Difficulty-Intermediate
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Compose objects into tree structures to represent part-whole
|
**Intent:** Compose objects into tree structures to represent part-whole
|
||||||
|
@ -3,7 +3,7 @@ layout: pattern
|
|||||||
title: Data Access Object
|
title: Data Access Object
|
||||||
folder: dao
|
folder: dao
|
||||||
permalink: /patterns/dao/
|
permalink: /patterns/dao/
|
||||||
categories: Architectural
|
categories: Persistence Tier
|
||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Difficulty-Beginner
|
- Difficulty-Beginner
|
||||||
|
@ -7,6 +7,7 @@ categories: Structural
|
|||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Gang Of Four
|
- Gang Of Four
|
||||||
|
- Difficulty-Beginner
|
||||||
---
|
---
|
||||||
|
|
||||||
**Also known as:** Wrapper
|
**Also known as:** Wrapper
|
||||||
|
@ -4,7 +4,9 @@ title: Dependency Injection
|
|||||||
folder: dependency-injection
|
folder: dependency-injection
|
||||||
permalink: /patterns/dependency-injection/
|
permalink: /patterns/dependency-injection/
|
||||||
categories: Behavioral
|
categories: Behavioral
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Beginner
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Dependency Injection is a software design pattern in which one or
|
**Intent:** Dependency Injection is a software design pattern in which one or
|
||||||
|
@ -4,7 +4,10 @@ title: Double Checked Locking
|
|||||||
folder: double-checked-locking
|
folder: double-checked-locking
|
||||||
permalink: /patterns/double-checked-locking/
|
permalink: /patterns/double-checked-locking/
|
||||||
categories: Concurrency
|
categories: Concurrency
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Beginner
|
||||||
|
- Idiom
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Reduce the overhead of acquiring a lock by first testing the
|
**Intent:** Reduce the overhead of acquiring a lock by first testing the
|
||||||
|
@ -4,7 +4,10 @@ title: Double Dispatch
|
|||||||
folder: double-dispatch
|
folder: double-dispatch
|
||||||
permalink: /patterns/double-dispatch/
|
permalink: /patterns/double-dispatch/
|
||||||
categories: Other
|
categories: Other
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Intermediate
|
||||||
|
- Idiom
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Double Dispatch pattern is a way to create maintainable dynamic
|
**Intent:** Double Dispatch pattern is a way to create maintainable dynamic
|
||||||
|
@ -4,7 +4,9 @@ title: Event Aggregator
|
|||||||
folder: event-aggregator
|
folder: event-aggregator
|
||||||
permalink: /patterns/event-aggregator/
|
permalink: /patterns/event-aggregator/
|
||||||
categories: Structural
|
categories: Structural
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Beginner
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** A system with lots of objects can lead to complexities when a
|
**Intent:** A system with lots of objects can lead to complexities when a
|
||||||
|
@ -4,7 +4,10 @@ title: Execute Around
|
|||||||
folder: execute-around
|
folder: execute-around
|
||||||
permalink: /patterns/execute-around/
|
permalink: /patterns/execute-around/
|
||||||
categories: Other
|
categories: Other
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Beginner
|
||||||
|
- Idiom
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Execute Around idiom frees the user from certain actions that
|
**Intent:** Execute Around idiom frees the user from certain actions that
|
||||||
|
@ -7,6 +7,7 @@ categories: Structural
|
|||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Gang Of Four
|
- Gang Of Four
|
||||||
|
- Difficulty-Beginner
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Provide a unified interface to a set of interfaces in a subsystem.
|
**Intent:** Provide a unified interface to a set of interfaces in a subsystem.
|
||||||
|
@ -7,6 +7,7 @@ categories: Other
|
|||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Difficulty-Intermediate
|
- Difficulty-Intermediate
|
||||||
|
- Functional
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** A fluent interface provides an easy-readable, flowing interface, that often mimics a domain specific language. Using this pattern results in code that can be read nearly as human language.
|
**Intent:** A fluent interface provides an easy-readable, flowing interface, that often mimics a domain specific language. Using this pattern results in code that can be read nearly as human language.
|
||||||
|
@ -4,7 +4,9 @@ title: Flux
|
|||||||
folder: flux
|
folder: flux
|
||||||
permalink: /patterns/flux/
|
permalink: /patterns/flux/
|
||||||
categories: Presentation Tier
|
categories: Presentation Tier
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Intermediate
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Flux eschews MVC in favor of a unidirectional data flow. When a
|
**Intent:** Flux eschews MVC in favor of a unidirectional data flow. When a
|
||||||
|
@ -7,6 +7,8 @@ categories: Structural
|
|||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Gang Of Four
|
- Gang Of Four
|
||||||
|
- Difficulty-Intermediate
|
||||||
|
- Caching
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Use sharing to support large numbers of fine-grained objects
|
**Intent:** Use sharing to support large numbers of fine-grained objects
|
||||||
|
@ -4,7 +4,9 @@ title: Front Controller
|
|||||||
folder: front-controller
|
folder: front-controller
|
||||||
permalink: /patterns/front-controller/
|
permalink: /patterns/front-controller/
|
||||||
categories: Presentation Tier
|
categories: Presentation Tier
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Intermediate
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Introduce a common handler for all requests for a web site. This
|
**Intent:** Introduce a common handler for all requests for a web site. This
|
||||||
|
@ -4,7 +4,9 @@ title: Half-Sync/Half-Async
|
|||||||
folder: half-sync-half-async
|
folder: half-sync-half-async
|
||||||
permalink: /patterns/half-sync-half-async/
|
permalink: /patterns/half-sync-half-async/
|
||||||
categories: Concurrency
|
categories: Concurrency
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Intermediate
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** The Half-Sync/Half-Async pattern decouples synchronous I/O from
|
**Intent:** The Half-Sync/Half-Async pattern decouples synchronous I/O from
|
||||||
|
@ -4,7 +4,9 @@ title: Intercepting Filter
|
|||||||
folder: intercepting-filter
|
folder: intercepting-filter
|
||||||
permalink: /patterns/intercepting-filter/
|
permalink: /patterns/intercepting-filter/
|
||||||
categories: Behavioral
|
categories: Behavioral
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Intermediate
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Provide pluggable filters to conduct necessary pre-processing and
|
**Intent:** Provide pluggable filters to conduct necessary pre-processing and
|
||||||
|
@ -7,6 +7,7 @@ categories: Behavioral
|
|||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Gang Of Four
|
- Gang Of Four
|
||||||
|
- Difficulty-Intermediate
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Given a language, define a representation for its grammar along
|
**Intent:** Given a language, define a representation for its grammar along
|
||||||
|
@ -4,7 +4,10 @@ title: Layers
|
|||||||
folder: layers
|
folder: layers
|
||||||
permalink: /patterns/layers/
|
permalink: /patterns/layers/
|
||||||
categories: Architectural
|
categories: Architectural
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Intermediate
|
||||||
|
- Spring
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Layers is an architectural style where software responsibilities are
|
**Intent:** Layers is an architectural style where software responsibilities are
|
||||||
|
@ -4,7 +4,11 @@ title: Lazy Loading
|
|||||||
folder: lazy-loading
|
folder: lazy-loading
|
||||||
permalink: /patterns/lazy-loading/
|
permalink: /patterns/lazy-loading/
|
||||||
categories: Other
|
categories: Other
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Beginner
|
||||||
|
- Idiom
|
||||||
|
- Caching
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Lazy loading is a design pattern commonly used to defer
|
**Intent:** Lazy loading is a design pattern commonly used to defer
|
||||||
|
@ -7,6 +7,7 @@ categories: Behavioral
|
|||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Gang Of Four
|
- Gang Of Four
|
||||||
|
- Difficulty-Intermediate
|
||||||
---
|
---
|
||||||
|
|
||||||
**Also known as:** Token
|
**Also known as:** Token
|
||||||
|
@ -7,6 +7,7 @@ categories: Integration
|
|||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- EIP
|
- EIP
|
||||||
|
- Camel
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** When two applications communicate using a messaging system they do it by using logical addresses
|
**Intent:** When two applications communicate using a messaging system they do it by using logical addresses
|
||||||
|
@ -4,7 +4,9 @@ title: Model-View-Controller
|
|||||||
folder: model-view-controller
|
folder: model-view-controller
|
||||||
permalink: /patterns/model-view-controller/
|
permalink: /patterns/model-view-controller/
|
||||||
categories: Presentation Tier
|
categories: Presentation Tier
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Intermediate
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Separate the user interface into three interconnected components:
|
**Intent:** Separate the user interface into three interconnected components:
|
||||||
|
@ -4,7 +4,9 @@ title: Model-View-Presenter
|
|||||||
folder: model-view-presenter
|
folder: model-view-presenter
|
||||||
permalink: /patterns/model-view-presenter/
|
permalink: /patterns/model-view-presenter/
|
||||||
categories: Presentation Tier
|
categories: Presentation Tier
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Intermediate
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Apply a "Separation of Concerns" principle in a way that allows
|
**Intent:** Apply a "Separation of Concerns" principle in a way that allows
|
||||||
|
@ -4,7 +4,9 @@ title: MonoState
|
|||||||
folder: monostate
|
folder: monostate
|
||||||
permalink: /patterns/monostate/
|
permalink: /patterns/monostate/
|
||||||
categories: Creational
|
categories: Creational
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Beginner
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Enforces a behaviour like sharing the same state amongst all instances.
|
**Intent:** Enforces a behaviour like sharing the same state amongst all instances.
|
||||||
|
@ -4,7 +4,9 @@ title: Multiton
|
|||||||
folder: multiton
|
folder: multiton
|
||||||
permalink: /patterns/multiton/
|
permalink: /patterns/multiton/
|
||||||
categories: Creational
|
categories: Creational
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Beginner
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Ensure a class only has limited number of instances, and provide a
|
**Intent:** Ensure a class only has limited number of instances, and provide a
|
||||||
|
@ -4,7 +4,9 @@ title: Naked Objects
|
|||||||
folder: naked-objects
|
folder: naked-objects
|
||||||
permalink: /patterns/naked-objects/
|
permalink: /patterns/naked-objects/
|
||||||
categories: Architectural
|
categories: Architectural
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Expert
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** The Naked Objects architectural pattern is well suited for rapid
|
**Intent:** The Naked Objects architectural pattern is well suited for rapid
|
||||||
|
@ -4,7 +4,9 @@ title: Null Object
|
|||||||
folder: null-object
|
folder: null-object
|
||||||
permalink: /patterns/null-object/
|
permalink: /patterns/null-object/
|
||||||
categories: Behavioral
|
categories: Behavioral
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Beginner
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** In most object-oriented languages, such as Java or C#, references
|
**Intent:** In most object-oriented languages, such as Java or C#, references
|
||||||
|
@ -4,7 +4,10 @@ title: Object Pool
|
|||||||
folder: object-pool
|
folder: object-pool
|
||||||
permalink: /patterns/object-pool/
|
permalink: /patterns/object-pool/
|
||||||
categories: Creational
|
categories: Creational
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Beginner
|
||||||
|
- Caching
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** When objects are expensive to create and they are needed only for
|
**Intent:** When objects are expensive to create and they are needed only for
|
||||||
|
@ -4,7 +4,9 @@ title: Poison Pill
|
|||||||
folder: poison-pill
|
folder: poison-pill
|
||||||
permalink: /patterns/poison-pill/
|
permalink: /patterns/poison-pill/
|
||||||
categories: Other
|
categories: Other
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Intermediate
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Poison Pill is known predefined data item that allows to provide
|
**Intent:** Poison Pill is known predefined data item that allows to provide
|
||||||
|
@ -4,7 +4,10 @@ title: Private Class Data
|
|||||||
folder: private-class-data
|
folder: private-class-data
|
||||||
permalink: /patterns/private-class-data/
|
permalink: /patterns/private-class-data/
|
||||||
categories: Other
|
categories: Other
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Beginner
|
||||||
|
- Idiom
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Private Class Data design pattern seeks to reduce exposure of
|
**Intent:** Private Class Data design pattern seeks to reduce exposure of
|
||||||
|
@ -3,15 +3,16 @@ layout: pattern
|
|||||||
title: Producer Consumer
|
title: Producer Consumer
|
||||||
folder: producer-consumer
|
folder: producer-consumer
|
||||||
permalink: /patterns/producer-consumer/
|
permalink: /patterns/producer-consumer/
|
||||||
categories: Other
|
categories: Concurrency
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Intermediate
|
||||||
|
- I/O
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Producer Consumer Design pattern is a classic concurrency or threading pattern which reduces
|
**Intent:** Producer Consumer Design pattern is a classic concurrency pattern which reduces
|
||||||
coupling between Producer and Consumer by separating Identification of work with Execution of
|
coupling between Producer and Consumer by separating Identification of work with Execution of
|
||||||
Work..
|
Work.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@ -19,4 +20,3 @@ tags: Java
|
|||||||
|
|
||||||
* decouple system by separate work in two process produce and consume.
|
* decouple system by separate work in two process produce and consume.
|
||||||
* addresses the issue of different timing require to produce work or consuming work
|
* addresses the issue of different timing require to produce work or consuming work
|
||||||
|
|
||||||
|
@ -4,7 +4,9 @@ title: Property
|
|||||||
folder: property
|
folder: property
|
||||||
permalink: /patterns/property/
|
permalink: /patterns/property/
|
||||||
categories: Creational
|
categories: Creational
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Beginner
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Create hierarchy of objects and new objects using already existing
|
**Intent:** Create hierarchy of objects and new objects using already existing
|
||||||
|
@ -7,6 +7,7 @@ categories: Creational
|
|||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Gang Of Four
|
- Gang Of Four
|
||||||
|
- Difficulty-Beginner
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Specify the kinds of objects to create using a prototypical
|
**Intent:** Specify the kinds of objects to create using a prototypical
|
||||||
|
@ -7,7 +7,7 @@ categories: Structural
|
|||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Gang Of Four
|
- Gang Of Four
|
||||||
- Difficulty-Intermediate
|
- Difficulty-Beginner
|
||||||
---
|
---
|
||||||
|
|
||||||
**Also known as:** Surrogate
|
**Also known as:** Surrogate
|
||||||
|
@ -7,6 +7,7 @@ categories: Integration
|
|||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- EIP
|
- EIP
|
||||||
|
- Camel
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Broadcast messages from sender to all the interested receivers.
|
**Intent:** Broadcast messages from sender to all the interested receivers.
|
||||||
|
@ -3,10 +3,11 @@ layout: pattern
|
|||||||
title: Reactor
|
title: Reactor
|
||||||
folder: reactor
|
folder: reactor
|
||||||
permalink: /patterns/reactor/
|
permalink: /patterns/reactor/
|
||||||
categories: Architectural
|
categories: Concurrency
|
||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Difficulty-Expert
|
- Difficulty-Expert
|
||||||
|
- I/O
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** The Reactor design pattern handles service requests that are delivered concurrently to an application by one or more clients. The application can register specific handlers for processing which are called by reactor on specific events. Dispatching of event handlers is performed by an initiation dispatcher, which manages the registered event handlers. Demultiplexing of service requests is performed by a synchronous event demultiplexer.
|
**Intent:** The Reactor design pattern handles service requests that are delivered concurrently to an application by one or more clients. The application can register specific handlers for processing which are called by reactor on specific events. Dispatching of event handlers is performed by an initiation dispatcher, which manages the registered event handlers. Demultiplexing of service requests is performed by a synchronous event demultiplexer.
|
||||||
|
@ -3,8 +3,11 @@ layout: pattern
|
|||||||
title: Repository
|
title: Repository
|
||||||
folder: repository
|
folder: repository
|
||||||
permalink: /patterns/repository/
|
permalink: /patterns/repository/
|
||||||
categories: Architectural
|
categories: Persistence Tier
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Intermediate
|
||||||
|
- Spring
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Repository layer is added between the domain and data mapping
|
**Intent:** Repository layer is added between the domain and data mapping
|
||||||
|
@ -4,7 +4,10 @@ title: Resource Acquisition Is Initialization
|
|||||||
folder: resource-acquisition-is-initialization
|
folder: resource-acquisition-is-initialization
|
||||||
permalink: /patterns/resource-acquisition-is-initialization/
|
permalink: /patterns/resource-acquisition-is-initialization/
|
||||||
categories: Other
|
categories: Other
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Beginner
|
||||||
|
- Idiom
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Resource Acquisition Is Initialization pattern can be used to implement exception safe resource management.
|
**Intent:** Resource Acquisition Is Initialization pattern can be used to implement exception safe resource management.
|
||||||
|
@ -4,7 +4,9 @@ title: Servant
|
|||||||
folder: servant
|
folder: servant
|
||||||
permalink: /patterns/servant/
|
permalink: /patterns/servant/
|
||||||
categories: Structural
|
categories: Structural
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Beginner
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Servant is used for providing some behavior to a group of classes.
|
**Intent:** Servant is used for providing some behavior to a group of classes.
|
||||||
|
@ -4,7 +4,9 @@ title: Service Layer
|
|||||||
folder: service-layer
|
folder: service-layer
|
||||||
permalink: /patterns/service-layer/
|
permalink: /patterns/service-layer/
|
||||||
categories: Architectural
|
categories: Architectural
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Intermediate
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Service Layer is an abstraction over domain logic. Typically
|
**Intent:** Service Layer is an abstraction over domain logic. Typically
|
||||||
|
@ -4,7 +4,9 @@ title: Service Locator
|
|||||||
folder: service-locator
|
folder: service-locator
|
||||||
permalink: /patterns/service-locator/
|
permalink: /patterns/service-locator/
|
||||||
categories: Structural
|
categories: Structural
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Beginner
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Encapsulate the processes involved in obtaining a service with a
|
**Intent:** Encapsulate the processes involved in obtaining a service with a
|
||||||
|
@ -4,7 +4,9 @@ title: Specification
|
|||||||
folder: specification
|
folder: specification
|
||||||
permalink: /patterns/specification/
|
permalink: /patterns/specification/
|
||||||
categories: Behavioral
|
categories: Behavioral
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Beginner
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Specification pattern separates the statement of how to match a
|
**Intent:** Specification pattern separates the statement of how to match a
|
||||||
|
@ -4,7 +4,9 @@ title: Step Builder
|
|||||||
folder: step-builder
|
folder: step-builder
|
||||||
permalink: /patterns/step-builder/
|
permalink: /patterns/step-builder/
|
||||||
categories: Creational
|
categories: Creational
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Intermediate
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** An extension of the Builder pattern that fully guides the user through the creation of the object with no chances of confusion.
|
**Intent:** An extension of the Builder pattern that fully guides the user through the creation of the object with no chances of confusion.
|
||||||
|
@ -4,7 +4,9 @@ title: Thread Pool
|
|||||||
folder: thread-pool
|
folder: thread-pool
|
||||||
permalink: /patterns/thread-pool/
|
permalink: /patterns/thread-pool/
|
||||||
categories: Concurrency
|
categories: Concurrency
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Intermediate
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** It is often the case that tasks to be executed are short-lived and
|
**Intent:** It is often the case that tasks to be executed are short-lived and
|
||||||
|
@ -4,7 +4,9 @@ title: Tolerant Reader
|
|||||||
folder: tolerant-reader
|
folder: tolerant-reader
|
||||||
permalink: /patterns/tolerant-reader/
|
permalink: /patterns/tolerant-reader/
|
||||||
categories: Integration
|
categories: Integration
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Beginner
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Tolerant Reader is an integration pattern that helps creating
|
**Intent:** Tolerant Reader is an integration pattern that helps creating
|
||||||
|
@ -4,14 +4,14 @@ title: Twin
|
|||||||
folder: twin
|
folder: twin
|
||||||
permalink: /patterns/twin/
|
permalink: /patterns/twin/
|
||||||
categories: Creational
|
categories: Creational
|
||||||
tags: Java
|
tags:
|
||||||
|
- Java
|
||||||
|
- Difficulty-Intermediate
|
||||||
---
|
---
|
||||||
|
|
||||||
**Intent:** Twin pattern is a design pattern which provides a standard solution to simulate multiple
|
**Intent:** Twin pattern is a design pattern which provides a standard solution to simulate multiple
|
||||||
inheritance in java
|
inheritance in java
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
**Applicability:** Use the Twin idiom when
|
**Applicability:** Use the Twin idiom when
|
||||||
@ -21,4 +21,4 @@ inheritance in java
|
|||||||
|
|
||||||
**Credits:**
|
**Credits:**
|
||||||
|
|
||||||
* [Twin – A Design Pattern for Modeling Multiple Inheritance](http://www.ssw.uni-linz.ac.at/Research/Papers/Moe99/Paper.pdf)
|
* [Twin – A Design Pattern for Modeling Multiple Inheritance](http://www.ssw.uni-linz.ac.at/Research/Papers/Moe99/Paper.pdf)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user