This repository has been archived by the owner on Mar 13, 2023. It is now read-only.
forked from hananbing/mri
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathddd.puml
55 lines (54 loc) · 2.57 KB
/
ddd.puml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
@startuml create-transfers-flow.png
participant BankTransferController
participant CreateBankTransferCommand
participant BankTransfer
participant BankTransferCreatedEvent
participant BankTransferManagementSaga
participant DebitSourceBankAccountCommand
participant BankAccountCommandHandler
participant BankAccount
participant SourceBankAccountDebitedEvent
participant CreditDestinationBankAccountCommand
participant DestinationBankAccountCreditedEvent
participant MarkBankTransferCompletedCommand
participant BankTransferCompletedEvent
participant MoneyAddedEvent
participant MoneySubtractedEvent
participant SourceBankAccountDebitRejectedEvent
participant MarkBankTransferFailedCommand
participant BankTransferFailedEvent
BankTransferController -> CreateBankTransferCommand: create
CreateBankTransferCommand --> BankTransfer: <init>
BankTransfer -> BankTransfer: create
BankTransfer -> BankTransferCreatedEvent: <init>
BankTransferCreatedEvent --> BankTransfer: on
BankTransferCreatedEvent --> BankTransferManagementSaga: on
BankTransferManagementSaga -> DebitSourceBankAccountCommand: create
DebitSourceBankAccountCommand --> BankAccountCommandHandler: handle
BankAccountCommandHandler -> BankAccount: create
BankAccount -> SourceBankAccountDebitedEvent: <init>
SourceBankAccountDebitedEvent --> BankTransferManagementSaga: on
BankTransferManagementSaga -> CreditDestinationBankAccountCommand: create
CreditDestinationBankAccountCommand --> BankAccountCommandHandler: handle
BankAccount -> DestinationBankAccountCreditedEvent: <init>
DestinationBankAccountCreditedEvent --> BankTransferManagementSaga: on
BankTransferManagementSaga -> MarkBankTransferCompletedCommand: create
MarkBankTransferCompletedCommand --> BankTransfer: handle
BankTransfer -> BankTransferCompletedEvent: <init>
BankTransferCompletedEvent --> BankTransfer: on
BankTransferCompletedEvent --> BankTransferEventListener: on
BankAccount -> MoneyAddedEvent: <init>
MoneyAddedEvent --> BankAccount: on
MoneyAddedEvent --> BankAccountEventListener: on
BankAccount -> MoneySubtractedEvent: <init>
MoneySubtractedEvent --> BankAccount: on
MoneySubtractedEvent --> BankAccountEventListener: on
BankAccount -> SourceBankAccountDebitRejectedEvent: <init>
SourceBankAccountDebitRejectedEvent --> BankTransferManagementSaga: on
BankTransferManagementSaga -> MarkBankTransferFailedCommand: create
MarkBankTransferFailedCommand --> BankTransfer: handle
BankTransfer -> BankTransferFailedEvent: <init>
BankTransferFailedEvent --> BankTransfer: on
BankTransferFailedEvent --> BankTransferEventListener: on
BankTransferCreatedEvent --> BankTransferEventListener: on
@enduml