Work on #190: urm/puml updates
* added pumlid where it was missing and possible * removed pumlid where it generated a bad image * regenerated some incorrect puml's * added 'left to right direction' puml prefix to some diagrams to improve the automatic layouting
This commit is contained in:
parent
175e9f58c1
commit
c2a7b902a9
@ -12,11 +12,12 @@ tags:
|
|||||||
|
|
||||||
## Intent
|
## Intent
|
||||||
The Event-based Asynchronous Pattern makes available the advantages of multithreaded applications while hiding many
|
The Event-based Asynchronous Pattern makes available the advantages of multithreaded applications while hiding many
|
||||||
of the complex issues inherent in multithreaded design. Using a class that supports this pattern can allow you to:-
|
of the complex issues inherent in multithreaded design. Using a class that supports this pattern can allow you to:
|
||||||
(1) Perform time-consuming tasks, such as downloads and database operations, "in the background," without interrupting your application.
|
|
||||||
(2) Execute multiple operations simultaneously, receiving notifications when each completes.
|
1. Perform time-consuming tasks, such as downloads and database operations, "in the background," without interrupting your application.
|
||||||
(3) Wait for resources to become available without stopping ("hanging") your application.
|
2. Execute multiple operations simultaneously, receiving notifications when each completes.
|
||||||
(4) Communicate with pending asynchronous operations using the familiar events-and-delegates model.
|
3. Wait for resources to become available without stopping ("hanging") your application.
|
||||||
|
4. Communicate with pending asynchronous operations using the familiar events-and-delegates model.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@ layout: pattern
|
|||||||
title: Guarded Suspension
|
title: Guarded Suspension
|
||||||
folder: guarded-suspension
|
folder: guarded-suspension
|
||||||
permalink: /patterns/guarded-suspension/
|
permalink: /patterns/guarded-suspension/
|
||||||
|
pumlid: ROux3W8n30LxJW47IDnJxLLCOcMD4YVoXxq-eQTwev56UeSvgiVejmTBwL4fjDzFzsLF0CKhD_OpNc6aPOgJU2vp0FUuSAVmnW-cIiPDqa9tKZ4OQ1kW1MgbcYniaHXF0VBoH-VGaTVlnK5Iztu1
|
||||||
categories: Concurrency
|
categories: Concurrency
|
||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
@startuml
|
@startuml
|
||||||
package com.iluwatar.guarded.suspension {
|
package com.iluwatar.guarded.suspension {
|
||||||
|
class App {
|
||||||
|
+ App()
|
||||||
|
+ main(args : String[]) {static}
|
||||||
|
}
|
||||||
class GuardedQueue {
|
class GuardedQueue {
|
||||||
- LOGGER : Logger {static}
|
- LOGGER : Logger {static}
|
||||||
- sourceList : Queue<Integer>
|
- sourceList : Queue<Integer>
|
||||||
|
@ -4,6 +4,7 @@ title: Hexagonal Architecture
|
|||||||
folder: hexagonal
|
folder: hexagonal
|
||||||
permalink: /patterns/hexagonal/
|
permalink: /patterns/hexagonal/
|
||||||
pumlid: HSTB4W8X30N0g-W1XkozpPD90LO8L3wEnzUTk-xxq2fvSfhSUiJs1v7XAcr4psSwMrqQh57gcZGaBmICNdZZEDb7qsCZWasT9lm7wln1MmeXZlfVIPjbvvGl
|
pumlid: HSTB4W8X30N0g-W1XkozpPD90LO8L3wEnzUTk-xxq2fvSfhSUiJs1v7XAcr4psSwMrqQh57gcZGaBmICNdZZEDb7qsCZWasT9lm7wln1MmeXZlfVIPjbvvGl
|
||||||
|
pumlformat: svg
|
||||||
categories: Architectural
|
categories: Architectural
|
||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
@startuml
|
@startuml
|
||||||
|
left to right direction
|
||||||
package com.iluwatar.intercepting.filter {
|
package com.iluwatar.intercepting.filter {
|
||||||
abstract class AbstractFilter {
|
abstract class AbstractFilter {
|
||||||
- next : Filter
|
- next : Filter
|
||||||
@ -79,10 +80,10 @@ AbstractFilter --> "-next" Filter
|
|||||||
DListener --+ Target
|
DListener --+ Target
|
||||||
FilterChain --> "-chain" Filter
|
FilterChain --> "-chain" Filter
|
||||||
FilterManager --> "-filterChain" FilterChain
|
FilterManager --> "-filterChain" FilterChain
|
||||||
AbstractFilter ..|> Filter
|
AbstractFilter ..|> Filter
|
||||||
AddressFilter --|> AbstractFilter
|
AddressFilter --|> AbstractFilter
|
||||||
ContactFilter --|> AbstractFilter
|
ContactFilter --|> AbstractFilter
|
||||||
DepositFilter --|> AbstractFilter
|
DepositFilter --|> AbstractFilter
|
||||||
NameFilter --|> AbstractFilter
|
NameFilter --|> AbstractFilter
|
||||||
OrderFilter --|> AbstractFilter
|
OrderFilter --|> AbstractFilter
|
||||||
@enduml
|
@enduml
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
@startuml
|
@startuml
|
||||||
|
left to right direction
|
||||||
package com.iluwatar.interpreter {
|
package com.iluwatar.interpreter {
|
||||||
class App {
|
class App {
|
||||||
- LOGGER : Logger {static}
|
- LOGGER : Logger {static}
|
||||||
@ -44,8 +45,8 @@ package com.iluwatar.interpreter {
|
|||||||
MultiplyExpression --> "-leftExpression" Expression
|
MultiplyExpression --> "-leftExpression" Expression
|
||||||
MinusExpression --> "-leftExpression" Expression
|
MinusExpression --> "-leftExpression" Expression
|
||||||
PlusExpression --> "-leftExpression" Expression
|
PlusExpression --> "-leftExpression" Expression
|
||||||
MinusExpression --|> Expression
|
MinusExpression --|> Expression
|
||||||
MultiplyExpression --|> Expression
|
MultiplyExpression --|> Expression
|
||||||
NumberExpression --|> Expression
|
NumberExpression --|> Expression
|
||||||
PlusExpression --|> Expression
|
PlusExpression --|> Expression
|
||||||
@enduml
|
@enduml
|
||||||
|
@ -4,6 +4,7 @@ title: Layers
|
|||||||
folder: layers
|
folder: layers
|
||||||
permalink: /patterns/layers/
|
permalink: /patterns/layers/
|
||||||
pumlid: BSR13OCm30NGLSe0n7UsCS62L8w9x6yGszD3t-bDpQhc9kdwEO0H2v7pNVQ68zSCyNeQn53gsQbftWns-lB5yoRHTfi70-8Mr3b-8UL7F4XG_otflOpi-W80
|
pumlid: BSR13OCm30NGLSe0n7UsCS62L8w9x6yGszD3t-bDpQhc9kdwEO0H2v7pNVQ68zSCyNeQn53gsQbftWns-lB5yoRHTfi70-8Mr3b-8UL7F4XG_otflOpi-W80
|
||||||
|
pumlformat: svg
|
||||||
categories: Architectural
|
categories: Architectural
|
||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
|
@ -3,9 +3,8 @@ layout: pattern
|
|||||||
title: Message Channel
|
title: Message Channel
|
||||||
folder: message-channel
|
folder: message-channel
|
||||||
permalink: /patterns/message-channel/
|
permalink: /patterns/message-channel/
|
||||||
pumlid: NSZB3SCm203GLTe1RExTXX1akm9YyMdMRy-zFRtdCf8wkLmUCtF72y3nxcFbhAE2dIvBjknqAIof6nCTtlZ1TdAiOMrZ9hi5ACOFe1o1WnjDD6C1Jlg_NgvzbyeN
|
|
||||||
categories: Integration
|
categories: Integration
|
||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- EIP
|
- EIP
|
||||||
- Apache Camel™
|
- Apache Camel™
|
||||||
@ -24,4 +23,4 @@ Use the Message Channel pattern when
|
|||||||
|
|
||||||
## Real world examples
|
## Real world examples
|
||||||
|
|
||||||
* [akka-camel](http://doc.akka.io/docs/akka/snapshot/scala/camel.html)
|
* [akka-camel](http://doc.akka.io/docs/akka/snapshot/scala/camel.html)
|
||||||
|
@ -3,7 +3,6 @@ layout: pattern
|
|||||||
title: Naked Objects
|
title: Naked Objects
|
||||||
folder: naked-objects
|
folder: naked-objects
|
||||||
permalink: /patterns/naked-objects/
|
permalink: /patterns/naked-objects/
|
||||||
pumlid: LSX15i8W30N0g-W187jlaq9igH1uoO_r-BfrDs_kJKkFAc7zTW3B7qJ6LzuRZjZ2nSfKY2ANEQZrk1XiTFARKnLlkwR5W9Ww3VOVIFabDStjb08dGVcVz6mVX4aE6td5w5y0
|
|
||||||
categories: Architectural
|
categories: Architectural
|
||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
|
@ -3,7 +3,7 @@ layout: pattern
|
|||||||
title: Object Mother
|
title: Object Mother
|
||||||
folder: object-mother
|
folder: object-mother
|
||||||
permalink: /patterns/object-mother/
|
permalink: /patterns/object-mother/
|
||||||
pumlid:
|
pumlid: LOr13iCW30JlVKNx0E3UKxxYW9KGWK7sklb-wR6dtLbfj9k15DxRurKbDo_isfudCEsTaj8TZuhJTpVMF0GiY7dqL9lVjDHqqOT2OQk7X4a0grZgPAkaiL-S4Vh0kOYH_vVeskFyVMyiPUKN
|
||||||
categories: Creational
|
categories: Creational
|
||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
@ -28,4 +28,4 @@ Use the Object Mother pattern when
|
|||||||
|
|
||||||
* [c2wiki - Object Mother](http://c2.com/cgi/wiki?ObjectMother)
|
* [c2wiki - Object Mother](http://c2.com/cgi/wiki?ObjectMother)
|
||||||
|
|
||||||
* [Nat Pryce - Test Data Builders: an alternative to the Object Mother pattern](http://www.natpryce.com/articles/000714.html)
|
* [Nat Pryce - Test Data Builders: an alternative to the Object Mother pattern](http://www.natpryce.com/articles/000714.html)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
@startuml
|
@startuml
|
||||||
|
left to right direction
|
||||||
package com.iluwatar.observer {
|
package com.iluwatar.observer {
|
||||||
class App {
|
class App {
|
||||||
- LOGGER : Logger {static}
|
- LOGGER : Logger {static}
|
||||||
@ -71,10 +72,10 @@ package com.iluwatar.observer.generic {
|
|||||||
Weather --> "-currentWeather" WeatherType
|
Weather --> "-currentWeather" WeatherType
|
||||||
GWeather --> "-currentWeather" WeatherType
|
GWeather --> "-currentWeather" WeatherType
|
||||||
Weather --> "-observers" WeatherObserver
|
Weather --> "-observers" WeatherObserver
|
||||||
Hobbits ..|> WeatherObserver
|
Hobbits ..|> WeatherObserver
|
||||||
Orcs ..|> WeatherObserver
|
Orcs ..|> WeatherObserver
|
||||||
GHobbits ..|> Race
|
GHobbits ..|> Race
|
||||||
GOrcs ..|> Race
|
GOrcs ..|> Race
|
||||||
GWeather --|> Observable
|
GWeather --|> Observable
|
||||||
Race --|> Observer
|
Race --|> Observer
|
||||||
@enduml
|
@enduml
|
||||||
|
@ -3,7 +3,6 @@ layout: pattern
|
|||||||
title: Page Object
|
title: Page Object
|
||||||
folder: page-object
|
folder: page-object
|
||||||
permalink: /patterns/page-object/
|
permalink: /patterns/page-object/
|
||||||
pumlid: JSV14OGW30NGLjO28FVj9iOCua1Wme-sxnxtzjvMJLeS6ju-9p3NbyZvoQNYZ3sMkWo36hACJhN5ms2dYszEXwvQB4q6r6rHv_K3JIwQndwfW1Jo_npUyupUNW00
|
|
||||||
categories: Testing
|
categories: Testing
|
||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
@ -12,7 +11,7 @@ tags:
|
|||||||
|
|
||||||
## Intent
|
## Intent
|
||||||
|
|
||||||
Page Object encapsulates the UI, hiding the underlying UI widgetry of an application (commonly a web application) and providing an application-specific API to allow the manipulation of UI components required for tests. In doing so, it allows the test class itself to focus on the test logic instead.
|
Page Object encapsulates the UI, hiding the underlying UI widgetry of an application (commonly a web application) and providing an application-specific API to allow the manipulation of UI components required for tests. In doing so, it allows the test class itself to focus on the test logic instead.
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
@ -22,11 +21,10 @@ Page Object encapsulates the UI, hiding the underlying UI widgetry of an applica
|
|||||||
|
|
||||||
Use the Page Object pattern when
|
Use the Page Object pattern when
|
||||||
|
|
||||||
* You are writing automated tests for your web application and you want to separate the UI manipulation required for the tests from the actual test logic.
|
* You are writing automated tests for your web application and you want to separate the UI manipulation required for the tests from the actual test logic.
|
||||||
* Make your tests less brittle, and more readable and robust
|
* Make your tests less brittle, and more readable and robust
|
||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
|
|
||||||
* [Martin Fowler - PageObject](http://martinfowler.com/bliki/PageObject.html)
|
* [Martin Fowler - PageObject](http://martinfowler.com/bliki/PageObject.html)
|
||||||
* [Selenium - Page Objects](https://github.com/SeleniumHQ/selenium/wiki/PageObjects)
|
* [Selenium - Page Objects](https://github.com/SeleniumHQ/selenium/wiki/PageObjects)
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@ layout: pattern
|
|||||||
title: Promise
|
title: Promise
|
||||||
folder: promise
|
folder: promise
|
||||||
permalink: /patterns/promise/
|
permalink: /patterns/promise/
|
||||||
|
pumlid: DOqv4i8m301xNW4FYDLJvIl2rYHYBDcZWtmVKr3jDZkxUw15IhyzM6lFHcdzVaPCVm8ONkNWEFELJbQ71ccKEWIuvuKhXJT-S6laVEWsCO9C7GHz2KmRmav0KVzUqgJCtsydROjV
|
||||||
categories: Concurrency
|
categories: Concurrency
|
||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
@startuml
|
@startuml
|
||||||
|
left to right direction
|
||||||
package com.iluwatar.promise {
|
package com.iluwatar.promise {
|
||||||
class App {
|
class App {
|
||||||
- DEFAULT_URL : String {static}
|
- DEFAULT_URL : String {static}
|
||||||
@ -70,9 +71,9 @@ package com.iluwatar.promise {
|
|||||||
+ lowestFrequencyChar(charFrequency : Map<Character, Integer>) : Character {static}
|
+ lowestFrequencyChar(charFrequency : Map<Character, Integer>) : Character {static}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TransformAction --> "-src" Promise
|
|
||||||
TransformAction --+ Promise
|
TransformAction --+ Promise
|
||||||
|
TransformAction --> "-src" Promise
|
||||||
ConsumeAction --+ Promise
|
ConsumeAction --+ Promise
|
||||||
ConsumeAction --> "-src" Promise
|
ConsumeAction --> "-src" Promise
|
||||||
Promise --|> PromiseSupport
|
Promise --|> PromiseSupport
|
||||||
@enduml
|
@enduml
|
||||||
|
@ -3,9 +3,8 @@ layout: pattern
|
|||||||
title: Publish Subscribe
|
title: Publish Subscribe
|
||||||
folder: publish-subscribe
|
folder: publish-subscribe
|
||||||
permalink: /patterns/publish-subscribe/
|
permalink: /patterns/publish-subscribe/
|
||||||
pumlid: PSZB3SCm203GLTe1RExT1XCKKs5YyMdMR--zFRsd66aTNAwFcRdZ1U1uzrDorgXWfykIBJjT2qJhnaI7Dtwm7HnoMjkOoMu12-C7s3LKOhQe4UGo63ZfVtlvwhkMVW40
|
|
||||||
categories: Integration
|
categories: Integration
|
||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- EIP
|
- EIP
|
||||||
- Apache Camel™
|
- Apache Camel™
|
||||||
|
@ -3,7 +3,7 @@ layout: pattern
|
|||||||
title: Queue based load leveling
|
title: Queue based load leveling
|
||||||
folder: queue-load-leveling
|
folder: queue-load-leveling
|
||||||
permalink: /patterns/queue-load-leveling/
|
permalink: /patterns/queue-load-leveling/
|
||||||
pumlid:
|
pumlid: ROux3W8n30LxJW47IDnJxLLCOcM376VnP_VwX9xgZKOQwMtcg1w3RuykXQDIADztzyEU08fNRjttU8MHbYbEuhdC0PtZmfN26qzCbQmtIGUwauh1G5i0dw2Wn1DhOZg9kpGWB_zy3Xtv-FtOIEhQBm00
|
||||||
categories: Other
|
categories: Other
|
||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
@ -34,4 +34,4 @@ for both the task and the service.
|
|||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
|
|
||||||
* [Microsoft Cloud Design Patterns: Queue-Based Load Leveling Pattern](https://msdn.microsoft.com/en-us/library/dn589783.aspx)
|
* [Microsoft Cloud Design Patterns: Queue-Based Load Leveling Pattern](https://msdn.microsoft.com/en-us/library/dn589783.aspx)
|
||||||
|
@ -4,8 +4,9 @@ title: Reactor
|
|||||||
folder: reactor
|
folder: reactor
|
||||||
permalink: /patterns/reactor/
|
permalink: /patterns/reactor/
|
||||||
pumlid: DSR14OGm20NGLjO23FVj1f7Hx2Ga0nzjVxtuJc-f9YrtJM-V4vZn9NA-or5nvfQXBiEWXYAZKsrvCzZfnnUlkqOzR9qCg5jGvtX2hYmOJWfvNz9xcTdR7m00
|
pumlid: DSR14OGm20NGLjO23FVj1f7Hx2Ga0nzjVxtuJc-f9YrtJM-V4vZn9NA-or5nvfQXBiEWXYAZKsrvCzZfnnUlkqOzR9qCg5jGvtX2hYmOJWfvNz9xcTdR7m00
|
||||||
|
pumlformat: svg
|
||||||
categories: Concurrency
|
categories: Concurrency
|
||||||
tags:
|
tags:
|
||||||
- Java
|
- Java
|
||||||
- Difficulty-Expert
|
- Difficulty-Expert
|
||||||
- I/O
|
- I/O
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
@startuml
|
@startuml
|
||||||
|
left to right direction
|
||||||
package com.iluwatar.reactor.framework {
|
package com.iluwatar.reactor.framework {
|
||||||
abstract class AbstractNioChannel {
|
abstract class AbstractNioChannel {
|
||||||
- channel : SelectableChannel
|
- channel : SelectableChannel
|
||||||
@ -147,9 +148,9 @@ App --> "-channels" AbstractNioChannel
|
|||||||
DatagramPacket ..+ NioDatagramChannel
|
DatagramPacket ..+ NioDatagramChannel
|
||||||
App --> "-dispatcher" Dispatcher
|
App --> "-dispatcher" Dispatcher
|
||||||
ChangeKeyOpsCommand --+ NioReactor
|
ChangeKeyOpsCommand --+ NioReactor
|
||||||
LoggingHandler ..|> ChannelHandler
|
LoggingHandler ..|> ChannelHandler
|
||||||
NioDatagramChannel --|> AbstractNioChannel
|
NioDatagramChannel --|> AbstractNioChannel
|
||||||
NioServerSocketChannel --|> AbstractNioChannel
|
NioServerSocketChannel --|> AbstractNioChannel
|
||||||
SameThreadDispatcher ..|> Dispatcher
|
SameThreadDispatcher ..|> Dispatcher
|
||||||
ThreadPoolDispatcher ..|> Dispatcher
|
ThreadPoolDispatcher ..|> Dispatcher
|
||||||
@enduml
|
@enduml
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
@startuml
|
@startuml
|
||||||
|
left to right direction
|
||||||
package com.iluwatar.servicelayer.hibernate {
|
package com.iluwatar.servicelayer.hibernate {
|
||||||
class HibernateUtil {
|
class HibernateUtil {
|
||||||
- LOGGER : Logger {static}
|
- LOGGER : Logger {static}
|
||||||
@ -143,18 +144,18 @@ MagicServiceImpl --> "-spellbookDao" SpellbookDao
|
|||||||
MagicServiceImpl --> "-spellDao" SpellDao
|
MagicServiceImpl --> "-spellDao" SpellDao
|
||||||
Spellbook --> "-spells" Spell
|
Spellbook --> "-spells" Spell
|
||||||
Spellbook --> "-wizards" Wizard
|
Spellbook --> "-wizards" Wizard
|
||||||
DaoBaseImpl ..|> Dao
|
DaoBaseImpl ..|> Dao
|
||||||
MagicServiceImpl ..|> MagicService
|
MagicServiceImpl ..|> MagicService
|
||||||
Spell --|> BaseEntity
|
Spell --|> BaseEntity
|
||||||
SpellDao --|> Dao
|
SpellDao --|> Dao
|
||||||
SpellDaoImpl ..|> SpellDao
|
SpellDaoImpl ..|> SpellDao
|
||||||
SpellDaoImpl --|> DaoBaseImpl
|
SpellDaoImpl --|> DaoBaseImpl
|
||||||
Spellbook --|> BaseEntity
|
Spellbook --|> BaseEntity
|
||||||
SpellbookDao --|> Dao
|
SpellbookDao --|> Dao
|
||||||
SpellbookDaoImpl ..|> SpellbookDao
|
SpellbookDaoImpl ..|> SpellbookDao
|
||||||
SpellbookDaoImpl --|> DaoBaseImpl
|
SpellbookDaoImpl --|> DaoBaseImpl
|
||||||
Wizard --|> BaseEntity
|
Wizard --|> BaseEntity
|
||||||
WizardDao --|> Dao
|
WizardDao --|> Dao
|
||||||
WizardDaoImpl ..|> WizardDao
|
WizardDaoImpl ..|> WizardDao
|
||||||
WizardDaoImpl --|> DaoBaseImpl
|
WizardDaoImpl --|> DaoBaseImpl
|
||||||
@enduml
|
@enduml
|
||||||
|
Loading…
x
Reference in New Issue
Block a user