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
|
||||
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:-
|
||||
(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.
|
||||
(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.
|
||||
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.
|
||||
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
|
||||
folder: guarded-suspension
|
||||
permalink: /patterns/guarded-suspension/
|
||||
pumlid: ROux3W8n30LxJW47IDnJxLLCOcMD4YVoXxq-eQTwev56UeSvgiVejmTBwL4fjDzFzsLF0CKhD_OpNc6aPOgJU2vp0FUuSAVmnW-cIiPDqa9tKZ4OQ1kW1MgbcYniaHXF0VBoH-VGaTVlnK5Iztu1
|
||||
categories: Concurrency
|
||||
tags:
|
||||
- Java
|
||||
|
@ -1,5 +1,9 @@
|
||||
@startuml
|
||||
package com.iluwatar.guarded.suspension {
|
||||
class App {
|
||||
+ App()
|
||||
+ main(args : String[]) {static}
|
||||
}
|
||||
class GuardedQueue {
|
||||
- LOGGER : Logger {static}
|
||||
- sourceList : Queue<Integer>
|
||||
|
@ -4,6 +4,7 @@ title: Hexagonal Architecture
|
||||
folder: hexagonal
|
||||
permalink: /patterns/hexagonal/
|
||||
pumlid: HSTB4W8X30N0g-W1XkozpPD90LO8L3wEnzUTk-xxq2fvSfhSUiJs1v7XAcr4psSwMrqQh57gcZGaBmICNdZZEDb7qsCZWasT9lm7wln1MmeXZlfVIPjbvvGl
|
||||
pumlformat: svg
|
||||
categories: Architectural
|
||||
tags:
|
||||
- Java
|
||||
|
@ -1,4 +1,5 @@
|
||||
@startuml
|
||||
left to right direction
|
||||
package com.iluwatar.intercepting.filter {
|
||||
abstract class AbstractFilter {
|
||||
- next : Filter
|
||||
@ -79,10 +80,10 @@ AbstractFilter --> "-next" Filter
|
||||
DListener --+ Target
|
||||
FilterChain --> "-chain" Filter
|
||||
FilterManager --> "-filterChain" FilterChain
|
||||
AbstractFilter ..|> Filter
|
||||
AddressFilter --|> AbstractFilter
|
||||
ContactFilter --|> AbstractFilter
|
||||
DepositFilter --|> AbstractFilter
|
||||
NameFilter --|> AbstractFilter
|
||||
OrderFilter --|> AbstractFilter
|
||||
@enduml
|
||||
AbstractFilter ..|> Filter
|
||||
AddressFilter --|> AbstractFilter
|
||||
ContactFilter --|> AbstractFilter
|
||||
DepositFilter --|> AbstractFilter
|
||||
NameFilter --|> AbstractFilter
|
||||
OrderFilter --|> AbstractFilter
|
||||
@enduml
|
||||
|
@ -1,4 +1,5 @@
|
||||
@startuml
|
||||
left to right direction
|
||||
package com.iluwatar.interpreter {
|
||||
class App {
|
||||
- LOGGER : Logger {static}
|
||||
@ -44,8 +45,8 @@ package com.iluwatar.interpreter {
|
||||
MultiplyExpression --> "-leftExpression" Expression
|
||||
MinusExpression --> "-leftExpression" Expression
|
||||
PlusExpression --> "-leftExpression" Expression
|
||||
MinusExpression --|> Expression
|
||||
MultiplyExpression --|> Expression
|
||||
NumberExpression --|> Expression
|
||||
PlusExpression --|> Expression
|
||||
@enduml
|
||||
MinusExpression --|> Expression
|
||||
MultiplyExpression --|> Expression
|
||||
NumberExpression --|> Expression
|
||||
PlusExpression --|> Expression
|
||||
@enduml
|
||||
|
@ -4,6 +4,7 @@ title: Layers
|
||||
folder: layers
|
||||
permalink: /patterns/layers/
|
||||
pumlid: BSR13OCm30NGLSe0n7UsCS62L8w9x6yGszD3t-bDpQhc9kdwEO0H2v7pNVQ68zSCyNeQn53gsQbftWns-lB5yoRHTfi70-8Mr3b-8UL7F4XG_otflOpi-W80
|
||||
pumlformat: svg
|
||||
categories: Architectural
|
||||
tags:
|
||||
- Java
|
||||
|
@ -3,9 +3,8 @@ layout: pattern
|
||||
title: Message Channel
|
||||
folder: message-channel
|
||||
permalink: /patterns/message-channel/
|
||||
pumlid: NSZB3SCm203GLTe1RExTXX1akm9YyMdMRy-zFRtdCf8wkLmUCtF72y3nxcFbhAE2dIvBjknqAIof6nCTtlZ1TdAiOMrZ9hi5ACOFe1o1WnjDD6C1Jlg_NgvzbyeN
|
||||
categories: Integration
|
||||
tags:
|
||||
tags:
|
||||
- Java
|
||||
- EIP
|
||||
- Apache Camel™
|
||||
@ -24,4 +23,4 @@ Use the Message Channel pattern when
|
||||
|
||||
## 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
|
||||
folder: naked-objects
|
||||
permalink: /patterns/naked-objects/
|
||||
pumlid: LSX15i8W30N0g-W187jlaq9igH1uoO_r-BfrDs_kJKkFAc7zTW3B7qJ6LzuRZjZ2nSfKY2ANEQZrk1XiTFARKnLlkwR5W9Ww3VOVIFabDStjb08dGVcVz6mVX4aE6td5w5y0
|
||||
categories: Architectural
|
||||
tags:
|
||||
- Java
|
||||
|
@ -3,7 +3,7 @@ layout: pattern
|
||||
title: Object Mother
|
||||
folder: object-mother
|
||||
permalink: /patterns/object-mother/
|
||||
pumlid:
|
||||
pumlid: LOr13iCW30JlVKNx0E3UKxxYW9KGWK7sklb-wR6dtLbfj9k15DxRurKbDo_isfudCEsTaj8TZuhJTpVMF0GiY7dqL9lVjDHqqOT2OQk7X4a0grZgPAkaiL-S4Vh0kOYH_vVeskFyVMyiPUKN
|
||||
categories: Creational
|
||||
tags:
|
||||
- Java
|
||||
@ -28,4 +28,4 @@ Use the Object Mother pattern when
|
||||
|
||||
* [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
|
||||
left to right direction
|
||||
package com.iluwatar.observer {
|
||||
class App {
|
||||
- LOGGER : Logger {static}
|
||||
@ -71,10 +72,10 @@ package com.iluwatar.observer.generic {
|
||||
Weather --> "-currentWeather" WeatherType
|
||||
GWeather --> "-currentWeather" WeatherType
|
||||
Weather --> "-observers" WeatherObserver
|
||||
Hobbits ..|> WeatherObserver
|
||||
Orcs ..|> WeatherObserver
|
||||
GHobbits ..|> Race
|
||||
GOrcs ..|> Race
|
||||
GWeather --|> Observable
|
||||
Race --|> Observer
|
||||
@enduml
|
||||
Hobbits ..|> WeatherObserver
|
||||
Orcs ..|> WeatherObserver
|
||||
GHobbits ..|> Race
|
||||
GOrcs ..|> Race
|
||||
GWeather --|> Observable
|
||||
Race --|> Observer
|
||||
@enduml
|
||||
|
@ -3,7 +3,6 @@ layout: pattern
|
||||
title: Page Object
|
||||
folder: page-object
|
||||
permalink: /patterns/page-object/
|
||||
pumlid: JSV14OGW30NGLjO28FVj9iOCua1Wme-sxnxtzjvMJLeS6ju-9p3NbyZvoQNYZ3sMkWo36hACJhN5ms2dYszEXwvQB4q6r6rHv_K3JIwQndwfW1Jo_npUyupUNW00
|
||||
categories: Testing
|
||||
tags:
|
||||
- Java
|
||||
@ -12,7 +11,7 @@ tags:
|
||||
|
||||
## 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
|
||||
|
||||
* 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
|
||||
|
||||
## Credits
|
||||
|
||||
* [Martin Fowler - PageObject](http://martinfowler.com/bliki/PageObject.html)
|
||||
* [Selenium - Page Objects](https://github.com/SeleniumHQ/selenium/wiki/PageObjects)
|
||||
|
||||
|
@ -3,6 +3,7 @@ layout: pattern
|
||||
title: Promise
|
||||
folder: promise
|
||||
permalink: /patterns/promise/
|
||||
pumlid: DOqv4i8m301xNW4FYDLJvIl2rYHYBDcZWtmVKr3jDZkxUw15IhyzM6lFHcdzVaPCVm8ONkNWEFELJbQ71ccKEWIuvuKhXJT-S6laVEWsCO9C7GHz2KmRmav0KVzUqgJCtsydROjV
|
||||
categories: Concurrency
|
||||
tags:
|
||||
- Java
|
||||
|
@ -1,4 +1,5 @@
|
||||
@startuml
|
||||
left to right direction
|
||||
package com.iluwatar.promise {
|
||||
class App {
|
||||
- DEFAULT_URL : String {static}
|
||||
@ -70,9 +71,9 @@ package com.iluwatar.promise {
|
||||
+ lowestFrequencyChar(charFrequency : Map<Character, Integer>) : Character {static}
|
||||
}
|
||||
}
|
||||
TransformAction --> "-src" Promise
|
||||
TransformAction --+ Promise
|
||||
TransformAction --> "-src" Promise
|
||||
ConsumeAction --+ Promise
|
||||
ConsumeAction --> "-src" Promise
|
||||
Promise --|> PromiseSupport
|
||||
@enduml
|
||||
@enduml
|
||||
|
@ -3,9 +3,8 @@ layout: pattern
|
||||
title: Publish Subscribe
|
||||
folder: publish-subscribe
|
||||
permalink: /patterns/publish-subscribe/
|
||||
pumlid: PSZB3SCm203GLTe1RExT1XCKKs5YyMdMR--zFRsd66aTNAwFcRdZ1U1uzrDorgXWfykIBJjT2qJhnaI7Dtwm7HnoMjkOoMu12-C7s3LKOhQe4UGo63ZfVtlvwhkMVW40
|
||||
categories: Integration
|
||||
tags:
|
||||
tags:
|
||||
- Java
|
||||
- EIP
|
||||
- Apache Camel™
|
||||
|
@ -3,7 +3,7 @@ layout: pattern
|
||||
title: Queue based load leveling
|
||||
folder: queue-load-leveling
|
||||
permalink: /patterns/queue-load-leveling/
|
||||
pumlid:
|
||||
pumlid: ROux3W8n30LxJW47IDnJxLLCOcM376VnP_VwX9xgZKOQwMtcg1w3RuykXQDIADztzyEU08fNRjttU8MHbYbEuhdC0PtZmfN26qzCbQmtIGUwauh1G5i0dw2Wn1DhOZg9kpGWB_zy3Xtv-FtOIEhQBm00
|
||||
categories: Other
|
||||
tags:
|
||||
- Java
|
||||
@ -34,4 +34,4 @@ for both the task and the service.
|
||||
|
||||
## 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
|
||||
permalink: /patterns/reactor/
|
||||
pumlid: DSR14OGm20NGLjO23FVj1f7Hx2Ga0nzjVxtuJc-f9YrtJM-V4vZn9NA-or5nvfQXBiEWXYAZKsrvCzZfnnUlkqOzR9qCg5jGvtX2hYmOJWfvNz9xcTdR7m00
|
||||
pumlformat: svg
|
||||
categories: Concurrency
|
||||
tags:
|
||||
tags:
|
||||
- Java
|
||||
- Difficulty-Expert
|
||||
- I/O
|
||||
|
@ -1,4 +1,5 @@
|
||||
@startuml
|
||||
left to right direction
|
||||
package com.iluwatar.reactor.framework {
|
||||
abstract class AbstractNioChannel {
|
||||
- channel : SelectableChannel
|
||||
@ -147,9 +148,9 @@ App --> "-channels" AbstractNioChannel
|
||||
DatagramPacket ..+ NioDatagramChannel
|
||||
App --> "-dispatcher" Dispatcher
|
||||
ChangeKeyOpsCommand --+ NioReactor
|
||||
LoggingHandler ..|> ChannelHandler
|
||||
NioDatagramChannel --|> AbstractNioChannel
|
||||
NioServerSocketChannel --|> AbstractNioChannel
|
||||
SameThreadDispatcher ..|> Dispatcher
|
||||
ThreadPoolDispatcher ..|> Dispatcher
|
||||
@enduml
|
||||
LoggingHandler ..|> ChannelHandler
|
||||
NioDatagramChannel --|> AbstractNioChannel
|
||||
NioServerSocketChannel --|> AbstractNioChannel
|
||||
SameThreadDispatcher ..|> Dispatcher
|
||||
ThreadPoolDispatcher ..|> Dispatcher
|
||||
@enduml
|
||||
|
@ -1,4 +1,5 @@
|
||||
@startuml
|
||||
left to right direction
|
||||
package com.iluwatar.servicelayer.hibernate {
|
||||
class HibernateUtil {
|
||||
- LOGGER : Logger {static}
|
||||
@ -143,18 +144,18 @@ MagicServiceImpl --> "-spellbookDao" SpellbookDao
|
||||
MagicServiceImpl --> "-spellDao" SpellDao
|
||||
Spellbook --> "-spells" Spell
|
||||
Spellbook --> "-wizards" Wizard
|
||||
DaoBaseImpl ..|> Dao
|
||||
MagicServiceImpl ..|> MagicService
|
||||
Spell --|> BaseEntity
|
||||
SpellDao --|> Dao
|
||||
SpellDaoImpl ..|> SpellDao
|
||||
SpellDaoImpl --|> DaoBaseImpl
|
||||
Spellbook --|> BaseEntity
|
||||
SpellbookDao --|> Dao
|
||||
SpellbookDaoImpl ..|> SpellbookDao
|
||||
SpellbookDaoImpl --|> DaoBaseImpl
|
||||
Wizard --|> BaseEntity
|
||||
WizardDao --|> Dao
|
||||
WizardDaoImpl ..|> WizardDao
|
||||
WizardDaoImpl --|> DaoBaseImpl
|
||||
@enduml
|
||||
DaoBaseImpl ..|> Dao
|
||||
MagicServiceImpl ..|> MagicService
|
||||
Spell --|> BaseEntity
|
||||
SpellDao --|> Dao
|
||||
SpellDaoImpl ..|> SpellDao
|
||||
SpellDaoImpl --|> DaoBaseImpl
|
||||
Spellbook --|> BaseEntity
|
||||
SpellbookDao --|> Dao
|
||||
SpellbookDaoImpl ..|> SpellbookDao
|
||||
SpellbookDaoImpl --|> DaoBaseImpl
|
||||
Wizard --|> BaseEntity
|
||||
WizardDao --|> Dao
|
||||
WizardDaoImpl ..|> WizardDao
|
||||
WizardDaoImpl --|> DaoBaseImpl
|
||||
@enduml
|
||||
|
Loading…
x
Reference in New Issue
Block a user