|
|
@@ -30,6 +30,8 @@
|
|
|
|
|
|
### Для композиции
|
|
|
|
|
|
+v
|
|
|
+
|
|
|
* `(<)---(~)` -- зависит по ссылке (слабая зависимость)
|
|
|
* `(<)===(~)` -- зависит по композиции (средняя зависимость)
|
|
|
* `(<)###(~)` -- зависит по наследованию (сильная зависимость)
|
|
|
@@ -42,9 +44,49 @@
|
|
|
|
|
|
```ascii
|
|
|
|
|
|
++------------------+
|
|
|
+| |
|
|
|
+| TLI |
|
|
|
+| |
|
|
|
++-------(~)--------+
|
|
|
+ |
|
|
|
+ |
|
|
|
+ |
|
|
|
++-------(v)--------+
|
|
|
+| |
|
|
|
+| BLI |
|
|
|
+| |
|
|
|
++------------------+
|
|
|
+
|
|
|
+
|
|
|
+------------------+ +------------------+
|
|
|
| | req | |
|
|
|
| TLI [>]---------[api] BLI |
|
|
|
| | resp | |
|
|
|
-+------------------+ +------------------+
|
|
|
++------------------+
|
|
|
+```
|
|
|
+
|
|
|
+## Чистая архитектура AfRel
|
|
|
+
|
|
|
+* **LBI** (слой бизнес-интерфейсов)
|
|
|
+ + **OBP** (оркестратор бизнес-процесса, на вершине)
|
|
|
+ + **LBP** (логика бизнес-процесса, несколько в одном процессе)
|
|
|
+ + **BDO** (объект бизнес-процесса)
|
|
|
+* **LTI** (слой транспортных интерфейсов)
|
|
|
+ + **ETI** (движок транспортного интерфейса)
|
|
|
+ + **CTI** (клиент транспортного интерфейса)
|
|
|
+ + **TDO** (транспортный объект данных)
|
|
|
+* **LSI** (слой интерфейсов хранилища)
|
|
|
+ + **ESI** (движок интерфейса хранилища)
|
|
|
+ + **CSI** (клиент интерфейса хранилища)
|
|
|
+ + **SDO** (объект данных хранилища)
|
|
|
+
|
|
|
+```mermaid
|
|
|
+sequenceDiagram
|
|
|
+ net->>+LTI: TDO(req)
|
|
|
+ LTI->>+LBI: BDO(req)
|
|
|
+ LBI->>+LSI: SDO(req)
|
|
|
+ LSI->>-LBI: SDO(resp)
|
|
|
+ LBI->>-LTI: BDO(resp)
|
|
|
+ LTI->>-net: TDO(resp)
|
|
|
```
|