pphetra / 20230718

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dependency

┌────────────────────────────────────────────────────────────────────────┐  ┌────────────────────────────────────────────────────────────────────────┐
│                                 member                                 │  │                                 infra                                  │
│                                                                        │  │                                                                        │
│                                                                        │  │                                                                        │
│                                                                        │  │                                                                        │
│       ┌───────────────────────────────────────────────────────┐        │  │                                                                        │
│       │                         infra                         │        │  │                                                                        │
│       │                                                       │        │  │                     ┌────────────┐                                     │
│       │                                                       │        │  │                     │     DB     │                                     │
│       │   ┌─────────────────────────────────┐                 │◀───────┼──┼─────────────────────│ UnitOfWork │                                     │
│       │   │    PostgresMemberRepository     │                 │        │  │                     └────────────┘                                     │
│       │   └─────────────────────────────────┘                 │        │  │                            │                                           │
│       │                                                       │        │  │                            │                                           │
│       └───────────────────────────────────────────────────────┘        │  │                            │                                           │
│                                                                        │  └────────────────────────────┼───────────────────────────────────────────┘
│                    │                              │                    │  ┌────────────────────────────┼───────────────────────────────────────────┐
│                    │                              │                    │  │                            │    shared                                 │
│                    ▼                              │                    │  │                            │                                           │
│       ┌───────────────────────────────────────────┼───────────┐        │  │         ┌──────────────────┼────────────────────────────────────┐      │
│       │                          app              │           │        │  │         │                  │       app                          │      │
│       │                                           │           │        │  │         │                  ▼                                    │      │
│       │  ┌─────────────────────────────────┐      │           │        │  │         │           ┌────────────┐                              │      │
│       │  │ RegisterIndividualMemberUsecase │      │           │────────┼──┼────────▶│           │ UnitOfWork │                              │      │
│       │  └─────────────────────────────────┘      │           │        │  │         │           │ Interface  │                              │      │
│       │                                           │           │        │  │         │           └────────────┘                              │      │
│       │                                           │           │        │  │         │                                                       │      │
│       └───────────────────────────────────────────┼───────────┘        │  │         └───────────────────────────────────────────────────────┘      │
│                    │                              │                    │  │                                                                        │
│                    │                              │                    │  │                                                                        │
│                    ▼                              ▼                    │  │                                                                        │
│       ┌───────────────────────────────────────────────────────┐        │  │         ┌───────────────────────────────────────────────────────┐      │
│       │                        domain                         │        │  │         │                     value_object                      │      │
│       │                                                       │        │  │         │                                                       │      │
│       │         ┌──────┐    ┌───────────────────┐             │        │  │         │           ┌────────┐                                  │      │
│       │         │Member│    │ MemberRepository  │             ├────────┼──┼────────▶│           │Address │                                  │      │
│       │         └──────┘    └───────────────────┘             │        │  │         │           └────────┘                                  │      │
│       │                                                       │        │  │         │                                                       │      │
│       │                                                       │        │  │         │                                                       │      │
│       └───────────────────────────────────────────────────────┘        │  │         └───────────────────────────────────────────────────────┘      │
│                                                                        │  │                                                                        │
│                                                                        │  │                                                                        │
│                                                                        │  │                                                                        │
└────────────────────────────────────────────────────────────────────────┘  └────────────────────────────────────────────────────────────────────────┘

v2

+------------------------------------------------------------------------+  +------------------------------------------------------------------------+                       
|                                 member                                 |  |                                 infra                                  |                       
|                                                                        |  |                                                                        |                       
|                                                                        |  |                                                                        |                       
|                                                                        |  |                                                                        |                       
|                                                                        |  |                                                                        |                       
|       +-------------------------------------------------------+        |  |                                                                        |                       
|       |                         infra                         |        |  |                                                                        |                       
|       |   +---------------------------------+                 |        |  |                    +------------+                                      |         +------------+
|       |   |    PostgresMemberRepository     |                 |        |  |                    |     DB     |                                      |         |            |
|       |   +---------------------------------+                 |◀-------+--+------------------- | UnitOfWork |--------------------------------------+--------▶|   sql.DB   |
|       |   +---------------------------------+                 |        |  |                    +------------+                                      |         |            |
|       |   |        GoChannelEventBus        |                 |        |  |                           |                                            |         +------------+
|       |   +---------------------------------+                 |        |  |                           |                                            |                       
|       +-------------------------------------------------------+        |  +---------------------------+--------------------------------------------+                       
|                    |                              |                    |  +---------------------------+--------------------------------------------+                       
|                    |                              |                    |  |                           ++    shared                                 |                       
|                    ▼                              |                    |  |                            |                                           |                       
|       +-------------------------------------------+-----------+        |  |         +------------------+------------------------------------+      |                       
|       |                          app              |           |        |  |         |                  |       app                          |      |                       
|       |                                           |           |        |  |         |                  ▼                                    |      |                       
|       |  +---------------------------------+      |           |        |  |         |           +------------+    +----------+              |      |                       
|       |  | RegisterIndividualMemberUsecase |      |           |--------+--+--------▶|           | UnitOfWork |    | EventBus |              |      |                       
|       |  +---------------------------------+      |           |        |  |         |           | Interface  |    |          |              |      |                       
|       |                                           |           |        |  |         |           +------------+    +----------+              |      |                       
|       |                                           |           |        |  |         |                                                       |      |                       
|       +-------------------------------------------+-----------+        |  |         +-------------------------------------------------------+      |                       
|                    |                              |                    |  |                                                                        |                       
|                    |                              |                    |  |                                                                        |                       
|                    ▼                              ▼                    |  |                                                                        |                       
|       +-------------------------------------------------------+        |  |         +-------------------------------------------------------+      |                       
|       |                        domain                         |        |  |         |                     value_object                      |      |                       
|       |    +------+   +-------------------+                   |        |  |         |                                                       |      |                       
|       |    |Member|   | MemberRepository  |                   |        |  |         |           +--------+   +------------+                 |      |                       
|       |    +------+   +-------------------+                   +--------+--+--------▶|           |Address |   |DomainEvent |                 |      |                       
|       |               +--------------------------------+      |        |  |         |           +--------+   +------------+                 |      |                       
|       |               |IndividualMemberRegisteredEvent |      |        |  |         |                                                       |      |                       
|       |               +--------------------------------+      |        |  |         |                                                       |      |                       
|       +-------------------------------------------------------+        |  |         +-------------------------------------------------------+      |                       
|                                                                        |  |                                                                        |                       
|                                                                        |  |                                                                        |                       
|                                                                        |  |                                                                        |                       
+------------------------------------------------------------------------+  +------------------------------------------------------------------------+                       

About


Languages

Language:Go 100.0%