├── .gitkeep
├── .nojekyll
├── 整洁架构
├── README.md
└── 99~参考资料
│ ├── README.md
│ ├── 2016~Clean Architecture Example (Java)
│ └── codes
│ │ ├── .gitignore
│ │ ├── docs
│ │ └── images
│ │ │ ├── example-1.png
│ │ │ ├── example-2.png
│ │ │ ├── example-domain.png
│ │ │ ├── testing-strategy.png
│ │ │ ├── clean-architecture-diagram-1.png
│ │ │ └── clean-architecture-diagram-2.png
│ │ ├── application
│ │ ├── core
│ │ │ ├── src
│ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── clean
│ │ │ │ │ └── example
│ │ │ │ │ └── core
│ │ │ │ │ ├── entity
│ │ │ │ │ └── DeviceType.java
│ │ │ │ │ └── usecase
│ │ │ │ │ ├── job
│ │ │ │ │ ├── OnFailure.java
│ │ │ │ │ └── OnSuccess.java
│ │ │ │ │ ├── exchange
│ │ │ │ │ └── getcapacity
│ │ │ │ │ │ ├── ExchangeNotFoundException.java
│ │ │ │ │ │ └── DoesExchangeExist.java
│ │ │ │ │ └── broadbandaccessdevice
│ │ │ │ │ ├── getdetails
│ │ │ │ │ └── DeviceNotFoundException.java
│ │ │ │ │ └── reconcile
│ │ │ │ │ ├── GetSerialNumberFromModel.java
│ │ │ │ │ ├── GetSerialNumberFromReality.java
│ │ │ │ │ ├── UpdateSerialNumberInModel.java
│ │ │ │ │ └── GetAllDeviceHostnames.java
│ │ │ └── build.gradle
│ │ ├── dataproviders
│ │ │ ├── build.gradle
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── clean
│ │ │ │ └── example
│ │ │ │ └── dataproviders
│ │ │ │ └── network
│ │ │ │ └── deviceclient
│ │ │ │ ├── DeviceClient.java
│ │ │ │ └── DeviceConnectionTimeoutException.java
│ │ └── entrypoints
│ │ │ └── build.gradle
│ │ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ └── settings.gradle
│ ├── 2023~Understanding Clean Architecture and Domain-Driven Design (DDD).md
│ └── 2020~Clean Architecture Example with Java and Spring Boot
│ └── codes
│ └── core
│ └── src
│ └── main
│ └── java
│ └── com
│ └── d4i
│ └── sample
│ └── movie
│ └── category
│ └── ports
│ └── UpdateCategoryInFilmsEventsGateway.java
├── 六边形架构
├── UDLMA
│ ├── 扩展
│ │ ├── 反应式.md
│ │ └── 扩展点.md
│ └── RARF
│ │ ├── AARF.vsdx
│ │ └── 2014~RFDR:基于 REST 风格与分布式资源抽象的全栈应用软件架构模式.doc
├── 99~参考资料
│ ├── 2023~《Designing Hexagonal Architecture with Java》
│ │ └── codes
│ │ │ ├── Chapter13
│ │ │ ├── framework
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── resources
│ │ │ │ │ │ └── META-INF
│ │ │ │ │ │ │ └── beans.xml
│ │ │ │ │ └── java
│ │ │ │ │ │ └── dev
│ │ │ │ │ │ └── davivieira
│ │ │ │ │ │ └── topologyinventory
│ │ │ │ │ │ └── framework
│ │ │ │ │ │ └── adapters
│ │ │ │ │ │ └── output
│ │ │ │ │ │ └── mysql
│ │ │ │ │ │ └── data
│ │ │ │ │ │ ├── ProtocolData.java
│ │ │ │ │ │ ├── RouterTypeData.java
│ │ │ │ │ │ ├── SwitchTypeData.java
│ │ │ │ │ │ ├── ModelData.java
│ │ │ │ │ │ └── VendorData.java
│ │ │ │ │ └── test
│ │ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ ├── domain
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ └── topologyinventory
│ │ │ │ │ └── domain
│ │ │ │ │ └── vo
│ │ │ │ │ ├── Protocol.java
│ │ │ │ │ ├── RouterType.java
│ │ │ │ │ ├── SwitchType.java
│ │ │ │ │ ├── Model.java
│ │ │ │ │ ├── Vendor.java
│ │ │ │ │ └── Location.java
│ │ │ ├── bootstrap
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── module-info.java
│ │ │ └── application
│ │ │ │ └── src
│ │ │ │ └── test
│ │ │ │ └── resources
│ │ │ │ └── dev
│ │ │ │ └── davivieira
│ │ │ │ └── topologyinventory
│ │ │ │ └── application
│ │ │ │ ├── switches
│ │ │ │ ├── SwitchAdd.feature
│ │ │ │ └── SwitchCreate.feature
│ │ │ │ └── networks
│ │ │ │ ├── NetworkCreate.feature
│ │ │ │ └── NetworkAdd.feature
│ │ │ ├── Chapter14
│ │ │ ├── framework
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── resources
│ │ │ │ │ │ └── META-INF
│ │ │ │ │ │ │ └── beans.xml
│ │ │ │ │ └── java
│ │ │ │ │ │ └── dev
│ │ │ │ │ │ └── davivieira
│ │ │ │ │ │ └── topologyinventory
│ │ │ │ │ │ └── framework
│ │ │ │ │ │ └── adapters
│ │ │ │ │ │ └── output
│ │ │ │ │ │ └── mysql
│ │ │ │ │ │ └── data
│ │ │ │ │ │ ├── ProtocolData.java
│ │ │ │ │ │ ├── RouterTypeData.java
│ │ │ │ │ │ ├── SwitchTypeData.java
│ │ │ │ │ │ ├── ModelData.java
│ │ │ │ │ │ └── VendorData.java
│ │ │ │ │ └── test
│ │ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ ├── k8s
│ │ │ │ ├── configmap.yaml
│ │ │ │ ├── secret.yaml
│ │ │ │ └── service.yaml
│ │ │ ├── domain
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ └── topologyinventory
│ │ │ │ │ └── domain
│ │ │ │ │ └── vo
│ │ │ │ │ ├── Protocol.java
│ │ │ │ │ ├── RouterType.java
│ │ │ │ │ ├── SwitchType.java
│ │ │ │ │ ├── Model.java
│ │ │ │ │ └── Vendor.java
│ │ │ ├── bootstrap
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ ├── java
│ │ │ │ │ └── module-info.java
│ │ │ │ │ └── resources
│ │ │ │ │ └── application.yaml
│ │ │ ├── application
│ │ │ │ └── src
│ │ │ │ │ └── test
│ │ │ │ │ └── resources
│ │ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ └── topologyinventory
│ │ │ │ │ └── application
│ │ │ │ │ ├── switches
│ │ │ │ │ ├── SwitchAdd.feature
│ │ │ │ │ └── SwitchCreate.feature
│ │ │ │ │ └── networks
│ │ │ │ │ ├── NetworkCreate.feature
│ │ │ │ │ └── NetworkAdd.feature
│ │ │ └── Dockerfile
│ │ │ ├── Chapter16
│ │ │ ├── framework
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── resources
│ │ │ │ │ │ └── META-INF
│ │ │ │ │ │ │ └── beans.xml
│ │ │ │ │ └── java
│ │ │ │ │ │ └── dev
│ │ │ │ │ │ └── davivieira
│ │ │ │ │ │ └── topologyinventory
│ │ │ │ │ │ └── framework
│ │ │ │ │ │ └── adapters
│ │ │ │ │ │ └── output
│ │ │ │ │ │ └── mysql
│ │ │ │ │ │ └── data
│ │ │ │ │ │ ├── ProtocolData.java
│ │ │ │ │ │ ├── RouterTypeData.java
│ │ │ │ │ │ ├── SwitchTypeData.java
│ │ │ │ │ │ ├── ModelData.java
│ │ │ │ │ │ └── VendorData.java
│ │ │ │ │ └── test
│ │ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ ├── k8s
│ │ │ │ ├── configmap.yaml
│ │ │ │ ├── secret.yaml
│ │ │ │ └── service.yaml
│ │ │ ├── domain
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ └── topologyinventory
│ │ │ │ │ └── domain
│ │ │ │ │ └── vo
│ │ │ │ │ ├── Protocol.java
│ │ │ │ │ ├── RouterType.java
│ │ │ │ │ ├── SwitchType.java
│ │ │ │ │ ├── Model.java
│ │ │ │ │ └── Vendor.java
│ │ │ ├── bootstrap
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ ├── java
│ │ │ │ │ └── module-info.java
│ │ │ │ │ └── resources
│ │ │ │ │ └── application.yaml
│ │ │ ├── application
│ │ │ │ └── src
│ │ │ │ │ └── test
│ │ │ │ │ └── resources
│ │ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ └── topologyinventory
│ │ │ │ │ └── application
│ │ │ │ │ ├── switches
│ │ │ │ │ ├── SwitchAdd.feature
│ │ │ │ │ └── SwitchCreate.feature
│ │ │ │ │ └── networks
│ │ │ │ │ ├── NetworkCreate.feature
│ │ │ │ │ └── NetworkAdd.feature
│ │ │ └── Dockerfile
│ │ │ ├── Chapter17
│ │ │ ├── framework
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── resources
│ │ │ │ │ │ └── META-INF
│ │ │ │ │ │ │ └── beans.xml
│ │ │ │ │ └── java
│ │ │ │ │ │ └── dev
│ │ │ │ │ │ └── davivieira
│ │ │ │ │ │ └── topologyinventory
│ │ │ │ │ │ └── framework
│ │ │ │ │ │ └── adapters
│ │ │ │ │ │ └── output
│ │ │ │ │ │ └── mysql
│ │ │ │ │ │ └── data
│ │ │ │ │ │ ├── ProtocolData.java
│ │ │ │ │ │ ├── RouterTypeData.java
│ │ │ │ │ │ ├── SwitchTypeData.java
│ │ │ │ │ │ ├── ModelData.java
│ │ │ │ │ │ └── VendorData.java
│ │ │ │ │ └── test
│ │ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ ├── domain
│ │ │ │ ├── src
│ │ │ │ │ └── main
│ │ │ │ │ │ └── java
│ │ │ │ │ │ └── module-info.java
│ │ │ │ ├── status-sub-domain
│ │ │ │ │ └── src
│ │ │ │ │ │ └── main
│ │ │ │ │ │ └── java
│ │ │ │ │ │ └── module-info.java
│ │ │ │ └── inventory-core-domain
│ │ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ └── topologyinventory
│ │ │ │ │ └── domain
│ │ │ │ │ └── vo
│ │ │ │ │ ├── Protocol.java
│ │ │ │ │ ├── RouterType.java
│ │ │ │ │ ├── SwitchType.java
│ │ │ │ │ ├── Model.java
│ │ │ │ │ └── Vendor.java
│ │ │ ├── k8s
│ │ │ │ ├── configmap.yaml
│ │ │ │ ├── secret.yaml
│ │ │ │ └── service.yaml
│ │ │ ├── bootstrap
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ ├── java
│ │ │ │ │ └── module-info.java
│ │ │ │ │ └── resources
│ │ │ │ │ └── application.yaml
│ │ │ ├── application
│ │ │ │ └── src
│ │ │ │ │ └── test
│ │ │ │ │ └── resources
│ │ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ └── topologyinventory
│ │ │ │ │ └── application
│ │ │ │ │ ├── switches
│ │ │ │ │ ├── SwitchAdd.feature
│ │ │ │ │ └── SwitchCreate.feature
│ │ │ │ │ └── networks
│ │ │ │ │ ├── NetworkCreate.feature
│ │ │ │ │ └── NetworkAdd.feature
│ │ │ └── Dockerfile
│ │ │ ├── Chapter11
│ │ │ ├── application
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ └── java
│ │ │ │ │ │ └── dev
│ │ │ │ │ │ └── davivieira
│ │ │ │ │ │ └── topologyinventory
│ │ │ │ │ │ └── application
│ │ │ │ │ │ └── Test.java
│ │ │ │ │ └── test
│ │ │ │ │ └── resources
│ │ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ └── topologyinventory
│ │ │ │ │ └── application
│ │ │ │ │ ├── switches
│ │ │ │ │ ├── SwitchAdd.feature
│ │ │ │ │ └── SwitchCreate.feature
│ │ │ │ │ └── networks
│ │ │ │ │ ├── NetworkCreate.feature
│ │ │ │ │ └── NetworkAdd.feature
│ │ │ ├── framework
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ ├── App.java
│ │ │ │ │ └── topologyinventory
│ │ │ │ │ └── framework
│ │ │ │ │ └── adapters
│ │ │ │ │ └── output
│ │ │ │ │ └── h2
│ │ │ │ │ └── data
│ │ │ │ │ ├── ProtocolData.java
│ │ │ │ │ ├── RouterTypeData.java
│ │ │ │ │ └── SwitchTypeData.java
│ │ │ ├── domain
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ └── topologyinventory
│ │ │ │ │ └── domain
│ │ │ │ │ └── vo
│ │ │ │ │ ├── Protocol.java
│ │ │ │ │ ├── RouterType.java
│ │ │ │ │ ├── SwitchType.java
│ │ │ │ │ ├── Model.java
│ │ │ │ │ ├── Vendor.java
│ │ │ │ │ └── Location.java
│ │ │ ├── bootstrap
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── module-info.java
│ │ │ └── README.md
│ │ │ ├── Chapter07
│ │ │ ├── application
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ └── java
│ │ │ │ │ │ └── module-info.java
│ │ │ │ │ └── test
│ │ │ │ │ └── resources
│ │ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ └── topologyinventory
│ │ │ │ │ └── application
│ │ │ │ │ ├── switches
│ │ │ │ │ ├── SwitchAdd.feature
│ │ │ │ │ └── SwitchCreate.feature
│ │ │ │ │ └── networks
│ │ │ │ │ ├── NetworkCreate.feature
│ │ │ │ │ └── NetworkAdd.feature
│ │ │ ├── domain
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ └── topologyinventory
│ │ │ │ │ └── domain
│ │ │ │ │ └── vo
│ │ │ │ │ ├── Protocol.java
│ │ │ │ │ ├── RouterType.java
│ │ │ │ │ ├── SwitchType.java
│ │ │ │ │ ├── Model.java
│ │ │ │ │ ├── Vendor.java
│ │ │ │ │ └── Location.java
│ │ │ └── README.md
│ │ │ ├── Chapter01
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ ├── domain
│ │ │ │ │ └── RouterType.java
│ │ │ │ │ └── application
│ │ │ │ │ └── ports
│ │ │ │ │ └── output
│ │ │ │ │ └── RouterViewOutputPort.java
│ │ │ │ └── resources
│ │ │ │ └── routers.txt
│ │ │ ├── Chapter02
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ ├── domain
│ │ │ │ │ ├── vo
│ │ │ │ │ │ ├── Protocol.java
│ │ │ │ │ │ ├── RouterType.java
│ │ │ │ │ │ ├── SwitchType.java
│ │ │ │ │ │ └── ParsePolicyType.java
│ │ │ │ │ └── specification
│ │ │ │ │ │ └── Specification.java
│ │ │ │ │ └── application
│ │ │ │ │ └── ports
│ │ │ │ │ └── output
│ │ │ │ │ └── RouterViewOutputPort.java
│ │ │ │ └── resources
│ │ │ │ ├── routers.txt
│ │ │ │ └── events.txt
│ │ │ ├── Chapter03
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ ├── domain
│ │ │ │ │ ├── vo
│ │ │ │ │ │ ├── Protocol.java
│ │ │ │ │ │ ├── RouterType.java
│ │ │ │ │ │ ├── SwitchType.java
│ │ │ │ │ │ └── ParsePolicyType.java
│ │ │ │ │ └── specification
│ │ │ │ │ │ └── Specification.java
│ │ │ │ │ └── application
│ │ │ │ │ └── ports
│ │ │ │ │ └── output
│ │ │ │ │ └── RouterViewOutputPort.java
│ │ │ │ └── resources
│ │ │ │ ├── routers.txt
│ │ │ │ └── events.txt
│ │ │ ├── Chapter04
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ ├── domain
│ │ │ │ │ ├── vo
│ │ │ │ │ │ ├── Protocol.java
│ │ │ │ │ │ ├── RouterType.java
│ │ │ │ │ │ ├── SwitchType.java
│ │ │ │ │ │ └── ParsePolicyType.java
│ │ │ │ │ └── specification
│ │ │ │ │ │ └── Specification.java
│ │ │ │ │ ├── framework
│ │ │ │ │ └── adapters
│ │ │ │ │ │ └── output
│ │ │ │ │ │ └── h2
│ │ │ │ │ │ └── data
│ │ │ │ │ │ ├── ProtocolData.java
│ │ │ │ │ │ ├── RouterTypeData.java
│ │ │ │ │ │ └── SwitchTypeData.java
│ │ │ │ │ └── application
│ │ │ │ │ └── ports
│ │ │ │ │ └── output
│ │ │ │ │ └── RouterViewOutputPort.java
│ │ │ │ └── resources
│ │ │ │ ├── routers.txt
│ │ │ │ └── events.txt
│ │ │ ├── Chapter05
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ ├── domain
│ │ │ │ │ ├── vo
│ │ │ │ │ │ ├── Protocol.java
│ │ │ │ │ │ ├── RouterType.java
│ │ │ │ │ │ ├── SwitchType.java
│ │ │ │ │ │ └── ParsePolicyType.java
│ │ │ │ │ └── specification
│ │ │ │ │ │ └── Specification.java
│ │ │ │ │ ├── application
│ │ │ │ │ ├── usecases
│ │ │ │ │ │ └── NotifyEventUseCase.java
│ │ │ │ │ └── ports
│ │ │ │ │ │ └── output
│ │ │ │ │ │ ├── NotifyEventOutputPort.java
│ │ │ │ │ │ └── RouterViewOutputPort.java
│ │ │ │ │ └── framework
│ │ │ │ │ └── adapters
│ │ │ │ │ └── output
│ │ │ │ │ └── h2
│ │ │ │ │ └── data
│ │ │ │ │ ├── ProtocolData.java
│ │ │ │ │ ├── RouterTypeData.java
│ │ │ │ │ └── SwitchTypeData.java
│ │ │ │ ├── resources
│ │ │ │ ├── routers.txt
│ │ │ │ └── events.txt
│ │ │ │ └── web
│ │ │ │ ├── images
│ │ │ │ └── topology_logo.png
│ │ │ │ ├── js
│ │ │ │ └── nav.js
│ │ │ │ └── includes
│ │ │ │ └── menu.html
│ │ │ ├── Chapter08
│ │ │ ├── framework
│ │ │ │ ├── README.md
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ └── topologyinventory
│ │ │ │ │ └── framework
│ │ │ │ │ └── adapters
│ │ │ │ │ └── output
│ │ │ │ │ └── h2
│ │ │ │ │ └── data
│ │ │ │ │ ├── ProtocolData.java
│ │ │ │ │ ├── RouterTypeData.java
│ │ │ │ │ └── SwitchTypeData.java
│ │ │ ├── domain
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ └── topologyinventory
│ │ │ │ │ └── domain
│ │ │ │ │ └── vo
│ │ │ │ │ ├── Protocol.java
│ │ │ │ │ ├── RouterType.java
│ │ │ │ │ ├── SwitchType.java
│ │ │ │ │ ├── Model.java
│ │ │ │ │ ├── Vendor.java
│ │ │ │ │ └── Location.java
│ │ │ ├── README.md
│ │ │ └── application
│ │ │ │ └── src
│ │ │ │ └── test
│ │ │ │ └── resources
│ │ │ │ └── dev
│ │ │ │ └── davivieira
│ │ │ │ └── topologyinventory
│ │ │ │ └── application
│ │ │ │ ├── switches
│ │ │ │ ├── SwitchAdd.feature
│ │ │ │ └── SwitchCreate.feature
│ │ │ │ └── networks
│ │ │ │ ├── NetworkCreate.feature
│ │ │ │ └── NetworkAdd.feature
│ │ │ ├── Chapter09
│ │ │ ├── framework
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ ├── App.java
│ │ │ │ │ └── topologyinventory
│ │ │ │ │ └── framework
│ │ │ │ │ └── adapters
│ │ │ │ │ └── output
│ │ │ │ │ └── h2
│ │ │ │ │ └── data
│ │ │ │ │ ├── ProtocolData.java
│ │ │ │ │ ├── RouterTypeData.java
│ │ │ │ │ └── SwitchTypeData.java
│ │ │ ├── domain
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ └── topologyinventory
│ │ │ │ │ └── domain
│ │ │ │ │ └── vo
│ │ │ │ │ ├── Protocol.java
│ │ │ │ │ ├── RouterType.java
│ │ │ │ │ ├── SwitchType.java
│ │ │ │ │ ├── Model.java
│ │ │ │ │ ├── Vendor.java
│ │ │ │ │ └── Location.java
│ │ │ ├── README.md
│ │ │ └── application
│ │ │ │ └── src
│ │ │ │ └── test
│ │ │ │ └── resources
│ │ │ │ └── dev
│ │ │ │ └── davivieira
│ │ │ │ └── topologyinventory
│ │ │ │ └── application
│ │ │ │ ├── switches
│ │ │ │ ├── SwitchAdd.feature
│ │ │ │ └── SwitchCreate.feature
│ │ │ │ └── networks
│ │ │ │ ├── NetworkCreate.feature
│ │ │ │ └── NetworkAdd.feature
│ │ │ ├── Chapter10
│ │ │ ├── framework
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ ├── App.java
│ │ │ │ │ └── topologyinventory
│ │ │ │ │ └── framework
│ │ │ │ │ └── adapters
│ │ │ │ │ └── output
│ │ │ │ │ └── h2
│ │ │ │ │ └── data
│ │ │ │ │ ├── ProtocolData.java
│ │ │ │ │ ├── RouterTypeData.java
│ │ │ │ │ └── SwitchTypeData.java
│ │ │ ├── domain
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ └── topologyinventory
│ │ │ │ │ └── domain
│ │ │ │ │ └── vo
│ │ │ │ │ ├── Protocol.java
│ │ │ │ │ ├── RouterType.java
│ │ │ │ │ ├── SwitchType.java
│ │ │ │ │ ├── Model.java
│ │ │ │ │ ├── Vendor.java
│ │ │ │ │ └── Location.java
│ │ │ └── application
│ │ │ │ └── src
│ │ │ │ └── test
│ │ │ │ └── resources
│ │ │ │ └── dev
│ │ │ │ └── davivieira
│ │ │ │ └── topologyinventory
│ │ │ │ └── application
│ │ │ │ ├── switches
│ │ │ │ ├── SwitchAdd.feature
│ │ │ │ └── SwitchCreate.feature
│ │ │ │ └── networks
│ │ │ │ ├── NetworkCreate.feature
│ │ │ │ └── NetworkAdd.feature
│ │ │ ├── Chapter12
│ │ │ ├── framework
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ ├── App.java
│ │ │ │ │ └── topologyinventory
│ │ │ │ │ └── framework
│ │ │ │ │ └── adapters
│ │ │ │ │ └── output
│ │ │ │ │ └── h2
│ │ │ │ │ └── data
│ │ │ │ │ ├── ProtocolData.java
│ │ │ │ │ ├── RouterTypeData.java
│ │ │ │ │ └── SwitchTypeData.java
│ │ │ ├── domain
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ └── topologyinventory
│ │ │ │ │ └── domain
│ │ │ │ │ └── vo
│ │ │ │ │ ├── Protocol.java
│ │ │ │ │ ├── RouterType.java
│ │ │ │ │ ├── SwitchType.java
│ │ │ │ │ ├── Model.java
│ │ │ │ │ ├── Vendor.java
│ │ │ │ │ └── Location.java
│ │ │ ├── bootstrap
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── module-info.java
│ │ │ └── application
│ │ │ │ └── src
│ │ │ │ └── test
│ │ │ │ └── resources
│ │ │ │ └── dev
│ │ │ │ └── davivieira
│ │ │ │ └── topologyinventory
│ │ │ │ └── application
│ │ │ │ ├── switches
│ │ │ │ ├── SwitchAdd.feature
│ │ │ │ └── SwitchCreate.feature
│ │ │ │ └── networks
│ │ │ │ ├── NetworkCreate.feature
│ │ │ │ └── NetworkAdd.feature
│ │ │ ├── Chapter15
│ │ │ ├── layered
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ ├── java
│ │ │ │ │ └── dev
│ │ │ │ │ │ └── davivieira
│ │ │ │ │ │ └── layered
│ │ │ │ │ │ ├── service
│ │ │ │ │ │ └── dto
│ │ │ │ │ │ │ └── UserDto.java
│ │ │ │ │ │ └── App.java
│ │ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ └── hexagonal
│ │ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── dev
│ │ │ │ │ └── davivieira
│ │ │ │ │ └── hexagonal
│ │ │ │ │ └── framework
│ │ │ │ │ └── adapters
│ │ │ │ │ └── input
│ │ │ │ │ └── dto
│ │ │ │ │ └── UserDto.java
│ │ │ │ └── resources
│ │ │ │ └── application.properties
│ │ │ └── Chapter06
│ │ │ ├── domain
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ └── java
│ │ │ │ └── dev
│ │ │ │ └── davivieira
│ │ │ │ └── topologyinventory
│ │ │ │ └── domain
│ │ │ │ └── vo
│ │ │ │ ├── Protocol.java
│ │ │ │ ├── RouterType.java
│ │ │ │ ├── SwitchType.java
│ │ │ │ ├── Model.java
│ │ │ │ ├── Vendor.java
│ │ │ │ └── Location.java
│ │ │ └── README.md
│ ├── 2023~Hexagonal Architecture With Spring Boot
│ │ └── codes
│ │ │ ├── coffeeshop-infrastructure
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ └── resources
│ │ │ │ └── data
│ │ │ │ ├── payment.sql
│ │ │ │ └── order.sql
│ │ │ ├── settings.gradle
│ │ │ ├── coffeeshop-application
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── arhohuttunen
│ │ │ │ │ └── coffeeshop
│ │ │ │ │ ├── shared
│ │ │ │ │ ├── Size.java
│ │ │ │ │ ├── Location.java
│ │ │ │ │ ├── Milk.java
│ │ │ │ │ ├── Drink.java
│ │ │ │ │ └── Status.java
│ │ │ │ │ └── application
│ │ │ │ │ ├── out
│ │ │ │ │ └── OrderNotFound.java
│ │ │ │ │ └── payment
│ │ │ │ │ ├── Receipt.java
│ │ │ │ │ ├── Payment.java
│ │ │ │ │ └── CreditCard.java
│ │ │ │ └── test
│ │ │ │ └── resources
│ │ │ │ └── data
│ │ │ │ ├── payment.sql
│ │ │ │ └── order.sql
│ │ │ ├── gradle
│ │ │ └── wrapper
│ │ │ │ ├── gradle-wrapper.jar
│ │ │ │ └── gradle-wrapper.properties
│ │ │ └── .github
│ │ │ └── dependabot.yml
│ └── Hexagonal Architecture in Java Tutorial
│ │ └── codes
│ │ └── SvenWoltmann~hexagonal-architecture-java
│ │ └── doc
│ │ ├── shop-model-iteration-1.plantuml
│ │ ├── hexagonal-architecture-modules.png
│ │ ├── architecture-components.plantuml
│ │ └── shop-model-iteration-2.plantuml
└── COLA
│ └── 99~参考资料
│ └── 2022~COLA 4.0:应用架构的最佳实践.md
├── 领域驱动设计
├── 99~参考资料
│ ├── 2021~《复杂软件设计之道:领域渠驱动设计》
│ │ └── README.md
│ ├── baiyan_lou~《深入浅出 DDD》
│ │ ├── README.md
│ │ └── codes
│ │ │ ├── baiyan-ddd-base
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── baiyan
│ │ │ │ └── ddd
│ │ │ │ └── base
│ │ │ │ ├── package-info.java
│ │ │ │ └── model
│ │ │ │ └── ddd
│ │ │ │ ├── MarkerInterface.java
│ │ │ │ ├── Ability.java
│ │ │ │ ├── Adapter.java
│ │ │ │ ├── Entity.java
│ │ │ │ ├── Factory.java
│ │ │ │ ├── Command.java
│ │ │ │ ├── Interface.java
│ │ │ │ ├── AggregateRoot.java
│ │ │ │ ├── DomainService.java
│ │ │ │ ├── Representation.java
│ │ │ │ ├── ApplicationService.java
│ │ │ │ └── QueryApplicationService.java
│ │ │ ├── baiyan-ddd-application
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── baiyan
│ │ │ │ └── ddd
│ │ │ │ └── application
│ │ │ │ ├── ability
│ │ │ │ ├── package-info.java
│ │ │ │ ├── share
│ │ │ │ │ └── package-info.java
│ │ │ │ └── user
│ │ │ │ │ └── assembler
│ │ │ │ │ └── package-info.java
│ │ │ │ ├── command
│ │ │ │ └── cmd
│ │ │ │ │ └── user
│ │ │ │ │ └── package-info.java
│ │ │ │ └── query
│ │ │ │ ├── model
│ │ │ │ └── user
│ │ │ │ │ ├── qry
│ │ │ │ │ └── package-info.java
│ │ │ │ │ └── dto
│ │ │ │ │ └── package-info.java
│ │ │ │ ├── assembler
│ │ │ │ └── package-info.java
│ │ │ │ └── package-info.java
│ │ │ ├── baiyan-ddd-domain
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── baiyan
│ │ │ │ └── ddd
│ │ │ │ └── domain
│ │ │ │ ├── aggregate
│ │ │ │ ├── package-info.java
│ │ │ │ ├── user
│ │ │ │ │ ├── event
│ │ │ │ │ │ └── package-info.java
│ │ │ │ │ └── constant
│ │ │ │ │ │ └── package-info.java
│ │ │ │ └── role
│ │ │ │ │ └── package-info.java
│ │ │ │ └── share
│ │ │ │ ├── enums
│ │ │ │ └── package-info.java
│ │ │ │ ├── valueobject
│ │ │ │ └── package-info.java
│ │ │ │ └── exception
│ │ │ │ └── package-info.java
│ │ │ ├── baiyan-ddd-interaction
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── baiyan
│ │ │ │ └── ddd
│ │ │ │ └── interaction
│ │ │ │ ├── config
│ │ │ │ └── package-info.java
│ │ │ │ ├── mq
│ │ │ │ └── package-info.java
│ │ │ │ ├── controller
│ │ │ │ └── package-info.java
│ │ │ │ ├── api
│ │ │ │ └── package-info.java
│ │ │ │ ├── handler
│ │ │ │ └── package-info.java
│ │ │ │ └── package-info.java
│ │ │ ├── baiyan-ddd-infrastructure
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── baiyan
│ │ │ │ └── ddd
│ │ │ │ └── infrastructure
│ │ │ │ ├── config
│ │ │ │ └── package-info.java
│ │ │ │ ├── constant
│ │ │ │ └── package-info.java
│ │ │ │ ├── db
│ │ │ │ ├── mapper
│ │ │ │ │ └── package-info.java
│ │ │ │ ├── model
│ │ │ │ │ └── package-info.java
│ │ │ │ ├── repository
│ │ │ │ │ └── package-info.java
│ │ │ │ └── converter
│ │ │ │ │ └── package-info.java
│ │ │ │ ├── mq
│ │ │ │ └── producer
│ │ │ │ │ └── package-info.java
│ │ │ │ └── rpc
│ │ │ │ └── package-info.java
│ │ │ ├── baiyan-ddd-rpc
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ └── java
│ │ │ │ └── com.baiyan.ddd.rpc
│ │ │ │ └── package-info.java
│ │ │ └── baiyan-ddd-api
│ │ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── com
│ │ │ └── baiyan
│ │ │ └── ddd
│ │ │ └── api
│ │ │ └── package-info.java
│ ├── mrcode~DDD 实战课
│ │ └── README.md
│ ├── 2019~阿里技术专家详解 DDD 系列
│ │ └── codes
│ │ │ ├── bank-start
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ └── resources
│ │ │ │ └── application.yml
│ │ │ ├── README.md
│ │ │ ├── bank-domain
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── bank
│ │ │ │ ├── exception
│ │ │ │ ├── AccountNotFoundException.java
│ │ │ │ ├── DailyLimitExceededException.java
│ │ │ │ └── InsufficientFundsException.java
│ │ │ │ ├── messaging
│ │ │ │ └── AuditMessageProducer.java
│ │ │ │ ├── external
│ │ │ │ └── ExchangeRateService.java
│ │ │ │ └── domain
│ │ │ │ └── types
│ │ │ │ └── AuditMessage.java
│ │ │ ├── bank-types
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── bank
│ │ │ │ ├── exception
│ │ │ │ ├── InvalidCurrencyException.java
│ │ │ │ ├── BusinessException.java
│ │ │ │ └── MoneyAmoutNotNullException.java
│ │ │ │ └── common
│ │ │ │ └── Result.java
│ │ │ ├── .idea
│ │ │ └── vcs.xml
│ │ │ └── bank-persistence
│ │ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── com
│ │ │ └── example
│ │ │ └── bank
│ │ │ └── persistence
│ │ │ └── AccountBuilder.java
│ ├── 2023~educational-platform-monolith
│ │ ├── security
│ │ │ └── config
│ │ │ │ ├── src
│ │ │ │ └── main
│ │ │ │ │ └── resources
│ │ │ │ │ └── application-security.properties
│ │ │ │ └── build.gradle
│ │ ├── docs
│ │ │ ├── architecture_tests.png
│ │ │ ├── integration_events.png
│ │ │ ├── bounded_context_map.png
│ │ │ ├── global_module_structure.png
│ │ │ ├── business_submodules_structure.png
│ │ │ └── architecture-decisions
│ │ │ │ ├── 0010-use-axon-framework.md
│ │ │ │ └── 0009-architecture-tests.md
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ │ ├── gradle-wrapper.jar
│ │ │ │ └── gradle-wrapper.properties
│ │ ├── administration
│ │ │ ├── web
│ │ │ │ └── src
│ │ │ │ │ └── test
│ │ │ │ │ └── resources
│ │ │ │ │ └── insert_data.sql
│ │ │ ├── application
│ │ │ │ └── src
│ │ │ │ │ ├── test
│ │ │ │ │ └── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ └── educational
│ │ │ │ │ │ └── platform
│ │ │ │ │ │ └── TestApplication.java
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── educational
│ │ │ │ │ └── platform
│ │ │ │ │ └── administration
│ │ │ │ │ └── course
│ │ │ │ │ └── query
│ │ │ │ │ └── ListCourseProposalsQuery.java
│ │ │ └── integration-events
│ │ │ │ └── build.gradle.kts
│ │ ├── courses
│ │ │ ├── application
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ └── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ └── educational
│ │ │ │ │ │ └── platform
│ │ │ │ │ │ └── courses
│ │ │ │ │ │ └── course
│ │ │ │ │ │ ├── LectureType.java
│ │ │ │ │ │ ├── query
│ │ │ │ │ │ └── ListCourseQuery.java
│ │ │ │ │ │ ├── QuestionDTO.java
│ │ │ │ │ │ └── PublishStatus.java
│ │ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── educational
│ │ │ │ │ └── platform
│ │ │ │ │ └── TestApplication.java
│ │ │ ├── web
│ │ │ │ └── src
│ │ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── educational
│ │ │ │ │ └── platform
│ │ │ │ │ └── TestApplication.java
│ │ │ └── integration-events
│ │ │ │ └── build.gradle
│ │ ├── .github
│ │ │ └── ISSUE_TEMPLATE
│ │ │ │ └── custom.md
│ │ ├── common
│ │ │ ├── src
│ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── educational
│ │ │ │ │ └── platform
│ │ │ │ │ └── common
│ │ │ │ │ └── domain
│ │ │ │ │ ├── ValueObject.java
│ │ │ │ │ └── AggregateRoot.java
│ │ │ └── build.gradle.kts
│ │ ├── users
│ │ │ ├── web
│ │ │ │ └── src
│ │ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── educational
│ │ │ │ │ └── platform
│ │ │ │ │ └── TestApplication.java
│ │ │ ├── application
│ │ │ │ └── src
│ │ │ │ │ ├── test
│ │ │ │ │ └── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ └── educational
│ │ │ │ │ │ └── platform
│ │ │ │ │ │ └── TestApplication.java
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── educational
│ │ │ │ │ └── platform
│ │ │ │ │ └── users
│ │ │ │ │ └── RoleDTO.java
│ │ │ └── integration-events
│ │ │ │ └── build.gradle
│ │ ├── course-reviews
│ │ │ ├── web
│ │ │ │ └── src
│ │ │ │ │ └── test
│ │ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── educational
│ │ │ │ │ │ └── platform
│ │ │ │ │ │ └── TestApplication.java
│ │ │ │ │ └── resources
│ │ │ │ │ └── insert_data.sql
│ │ │ ├── application
│ │ │ │ └── src
│ │ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── educational
│ │ │ │ │ └── platform
│ │ │ │ │ └── TestApplication.java
│ │ │ └── integration-events
│ │ │ │ └── build.gradle
│ │ └── course-enrollments
│ │ │ ├── web
│ │ │ └── src
│ │ │ │ └── test
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── educational
│ │ │ │ │ └── platform
│ │ │ │ │ └── TestApplication.java
│ │ │ │ └── resources
│ │ │ │ └── insert_data.sql
│ │ │ ├── application
│ │ │ └── src
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── educational
│ │ │ │ └── platform
│ │ │ │ └── TestApplication.java
│ │ │ └── integration-events
│ │ │ └── build.gradle
│ ├── 理念与实践介绍系列文章
│ │ ├── 2024~从腐化严重的 MVC 到 DDD 的轻量化重构.md
│ │ ├── 2023~阿里 DDD 大佬:从 0 到 1,带大家精通 DDD.md
│ │ └── 2022~领域驱动设计(DDD)架构演进和 DDD 的几种典型架构介绍(图文详解).md
│ └── 2003~Eric Evan~《Domain-Driven Design: Tackling Complexity in the Heart of Software》
│ │ └── README.md
├── 04~DDD 框架实践
│ ├── Spring DDD 实战
│ │ └── 领域构建
│ │ │ └── README.md
│ ├── 微服务中的 DDD 实践
│ │ └── 99~参考资料
│ │ │ └── 2023~基于 DDD 的微服务设计和开发实战.md
│ └── ContextMapper
│ │ └── README.md
├── 88~系统案例
│ ├── 2012~ddd-leaven-v2
│ │ └── codes
│ │ │ ├── .gitignore
│ │ │ ├── .vscode
│ │ │ └── settings.json
│ │ │ ├── diagrams
│ │ │ ├── offer.png
│ │ │ ├── invoicing.png
│ │ │ ├── payments.png
│ │ │ ├── purchase.png
│ │ │ ├── equivalent.png
│ │ │ ├── reservation.png
│ │ │ └── OrderingService.png
│ │ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── pl
│ │ │ └── com
│ │ │ └── bottega
│ │ │ └── ecommerce
│ │ │ └── sales
│ │ │ └── readmodel
│ │ │ └── offer
│ │ │ ├── OfferedProductDto.java
│ │ │ ├── OfferQuery.java
│ │ │ └── Offer.java
│ ├── 2024~1.2K~ddd-hexagonal-cqrs-es-eda
│ │ └── codes
│ │ │ └── ddd-hexagonal-cqrs-es-eda
│ │ │ ├── .gitignore
│ │ │ ├── start.sh
│ │ │ ├── telemetry-consumer
│ │ │ ├── .gitignore
│ │ │ ├── metrics
│ │ │ │ └── model.go
│ │ │ ├── bl-telemetry.docker.env
│ │ │ └── Dockerfile
│ │ │ ├── backend
│ │ │ ├── .prettierignore
│ │ │ ├── .prettierrc
│ │ │ ├── src
│ │ │ │ ├── api
│ │ │ │ │ └── dto
│ │ │ │ │ │ ├── update-email.dto.ts
│ │ │ │ │ │ ├── complete-todo.dto.ts
│ │ │ │ │ │ ├── add-todo.dto.ts
│ │ │ │ │ │ └── register.dto.ts
│ │ │ │ ├── bounded-contexts
│ │ │ │ │ └── marketing
│ │ │ │ │ │ └── marketing
│ │ │ │ │ │ └── service
│ │ │ │ │ │ └── index.ts
│ │ │ │ └── lib
│ │ │ │ │ └── bounded-contexts
│ │ │ │ │ ├── marketing
│ │ │ │ │ └── marketing
│ │ │ │ │ │ ├── dtos
│ │ │ │ │ │ └── increment-todos.dto.ts
│ │ │ │ │ │ ├── structs
│ │ │ │ │ │ └── send-email-request.struct.ts
│ │ │ │ │ │ ├── tests
│ │ │ │ │ │ └── __tests__
│ │ │ │ │ │ │ ├── todo-completed-integration
│ │ │ │ │ │ │ └── todo-completed-integration.mock.ts
│ │ │ │ │ │ │ ├── user-email-changed-integration
│ │ │ │ │ │ │ └── user-email-changed.mock.ts
│ │ │ │ │ │ │ └── user-registered-integration
│ │ │ │ │ │ │ └── user-registered-integration.mock.ts
│ │ │ │ │ │ ├── application
│ │ │ │ │ │ ├── event-handlers
│ │ │ │ │ │ │ └── domain
│ │ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ └── errors
│ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ └── ports
│ │ │ │ │ │ └── user-write.repo-port.ts
│ │ │ │ │ ├── todo
│ │ │ │ │ └── todo
│ │ │ │ │ │ ├── application
│ │ │ │ │ │ ├── event-handlers
│ │ │ │ │ │ │ ├── integration
│ │ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ ├── query-handlers
│ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ └── errors
│ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ └── queries
│ │ │ │ │ │ └── get-todos.query.ts
│ │ │ │ │ └── iam
│ │ │ │ │ └── authentication
│ │ │ │ │ ├── dtos
│ │ │ │ │ ├── register-command.dto.ts
│ │ │ │ │ └── change-email-command.dto.ts
│ │ │ │ │ ├── application
│ │ │ │ │ ├── event-handlers
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── domain
│ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ └── command-handlers
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ └── domain
│ │ │ │ │ └── rules
│ │ │ │ │ └── index.ts
│ │ │ ├── tsconfig.build.json
│ │ │ └── nest-cli.json
│ │ │ ├── frontend
│ │ │ ├── src
│ │ │ │ ├── react-app-env.d.ts
│ │ │ │ ├── layouts
│ │ │ │ │ ├── Auth
│ │ │ │ │ │ ├── Layout.css
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ └── todo
│ │ │ │ │ │ ├── Layout.css
│ │ │ │ │ │ └── index.ts
│ │ │ │ ├── pages
│ │ │ │ │ ├── Home
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ └── page.tsx
│ │ │ │ │ ├── Login
│ │ │ │ │ │ └── index.tsx
│ │ │ │ │ └── Register
│ │ │ │ │ │ └── index.tsx
│ │ │ │ ├── components
│ │ │ │ │ ├── Header
│ │ │ │ │ │ └── Header.css
│ │ │ │ │ ├── Todo
│ │ │ │ │ │ ├── Entry
│ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ └── Panel
│ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ └── Heading
│ │ │ │ │ │ └── Heading.css
│ │ │ │ ├── infra
│ │ │ │ │ └── repositories
│ │ │ │ │ │ ├── iam
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ └── todo
│ │ │ │ │ │ └── index.ts
│ │ │ │ ├── models
│ │ │ │ │ ├── User.ts
│ │ │ │ │ └── Todo.ts
│ │ │ │ ├── assets
│ │ │ │ │ └── bitloops_175x40_transparent.png
│ │ │ │ └── config
│ │ │ │ │ └── index.ts
│ │ │ ├── public
│ │ │ │ ├── robots.txt
│ │ │ │ └── favicon.ico
│ │ │ ├── .prettierrc
│ │ │ ├── .vscode
│ │ │ │ └── settings.json
│ │ │ ├── .eslintignore
│ │ │ └── .prettierignore
│ │ │ ├── envoy
│ │ │ ├── README.md
│ │ │ ├── Dockerfile
│ │ │ └── package-lock.json
│ │ │ ├── k8s
│ │ │ ├── namespace-bitloops.yaml
│ │ │ ├── configmap-bl-grafana-config.yaml
│ │ │ ├── secret-bl-postgres-secret.yaml
│ │ │ ├── pvc-bl-mongo-data.yaml
│ │ │ ├── pvc-bl-nats-data.yaml
│ │ │ ├── pvc-bl-grafana-data.yaml
│ │ │ ├── pvc-bl-postgres-data.yaml
│ │ │ ├── pvc-bl-prometheus-data.yaml
│ │ │ ├── service-bl-envoy.yaml
│ │ │ ├── service-bl-grafana.yaml
│ │ │ ├── service-bl-mongo.yaml
│ │ │ ├── service-bl-postgres.yaml
│ │ │ ├── service-bl-prometheus.yaml
│ │ │ ├── service-todo-frontend.yaml
│ │ │ ├── service-bl-pushgateway.yaml
│ │ │ └── service-bl-telemetry-consumer.yaml
│ │ │ ├── grafana
│ │ │ └── config
│ │ │ └── K8s.md
│ ├── Modular Monolith with DDD
│ │ └── README.md
│ ├── 2023~DDD-Clean-Architecture
│ │ └── codes
│ │ │ └── gsaaraujo~DDD-Clean-Architecture-backend
│ │ │ ├── example.env.test
│ │ │ ├── src
│ │ │ ├── modules
│ │ │ │ ├── core
│ │ │ │ │ ├── domain
│ │ │ │ │ │ ├── helpers
│ │ │ │ │ │ │ └── replace.ts
│ │ │ │ │ │ └── errors
│ │ │ │ │ │ │ ├── domain-error.ts
│ │ │ │ │ │ │ └── application-error.ts
│ │ │ │ │ └── tests
│ │ │ │ │ │ └── mocks
│ │ │ │ │ │ ├── mock-domain-error.ts
│ │ │ │ │ │ ├── mock-base-error.ts
│ │ │ │ │ │ ├── mock-application-error.ts
│ │ │ │ │ │ └── mock-unexpected-error.ts
│ │ │ │ └── agreements
│ │ │ │ │ ├── application
│ │ │ │ │ ├── repositories
│ │ │ │ │ │ └── notification-repository.ts
│ │ │ │ │ ├── services
│ │ │ │ │ │ └── notification-service.ts
│ │ │ │ │ └── errors
│ │ │ │ │ │ ├── party-not-found-error.ts
│ │ │ │ │ │ └── agreement-not-found-error.ts
│ │ │ │ │ └── domain
│ │ │ │ │ └── errors
│ │ │ │ │ ├── characters-limit-error.ts
│ │ │ │ │ ├── item-amount-limit-error.ts
│ │ │ │ │ └── currency-amount-limit-error.ts
│ │ │ ├── app.module.ts
│ │ │ └── main.ts
│ │ │ ├── example.env.development
│ │ │ ├── prisma
│ │ │ └── migrations
│ │ │ │ ├── 20230201013418_remove_unique_from_user_password
│ │ │ │ └── migration.sql
│ │ │ │ └── migration_lock.toml
│ │ │ ├── tsconfig.build.json
│ │ │ ├── .prettierrc
│ │ │ ├── nest-cli.json
│ │ │ ├── github
│ │ │ └── assets
│ │ │ │ └── structure.png
│ │ │ └── Dockerfile
│ ├── Domain-Driven Design Starter Modelling Process
│ │ └── README.md
│ └── 2024~11.9K~Sairyss~Domain Driven Hexagonal
│ │ └── README.md
└── 02~DDD 战略设计
│ └── README.md
└── .gitattributes
/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.nojekyll:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/整洁架构/README.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/README.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/六边形架构/UDLMA/扩展/反应式.md:
--------------------------------------------------------------------------------
1 | # 反应点
2 |
--------------------------------------------------------------------------------
/六边形架构/UDLMA/扩展/扩展点.md:
--------------------------------------------------------------------------------
1 | # 扩展点
2 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2021~《复杂软件设计之道:领域渠驱动设计》/README.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/领域驱动设计/04~DDD 框架实践/Spring DDD 实战/领域构建/README.md:
--------------------------------------------------------------------------------
1 | # 领域驱动设计在 Spring 中的实践
2 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.xmind filter=lfs diff=lfs merge=lfs -text
2 | *.pdf filter=lfs diff=lfs merge=lfs -text
3 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2012~ddd-leaven-v2/codes/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /.settings
3 | /.classpath
4 | /.project
5 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | */.env
3 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/README.md:
--------------------------------------------------------------------------------
1 | > [原文地址](https://juejin.cn/post/7004002483601145863)
2 |
3 | # DDD 系列文章
4 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter13/framework/src/main/resources/META-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter14/framework/src/main/resources/META-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter16/framework/src/main/resources/META-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/framework/src/main/resources/META-INF/beans.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2012~ddd-leaven-v2/codes/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "java.compile.nullAnalysis.mode": "automatic"
3 | }
4 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/start.sh:
--------------------------------------------------------------------------------
1 | docker compose -p bitloops-todo-app up -d
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~Hexagonal Architecture With Spring Boot/codes/coffeeshop-infrastructure/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/六边形架构/UDLMA/RARF/AARF.vsdx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/六边形架构/UDLMA/RARF/AARF.vsdx
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/telemetry-consumer/.gitignore:
--------------------------------------------------------------------------------
1 | __debug_bin
2 | .vscode/launch.json
3 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/mrcode~DDD 实战课/README.md:
--------------------------------------------------------------------------------
1 | > [原文地址](https://zq99299.github.io/note-book2/ddd/#%E6%8E%A8%E8%8D%90%E9%98%85%E8%AF%BB)
2 |
3 | # DDD 实战课
4 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/.prettierignore:
--------------------------------------------------------------------------------
1 | # Ignore autogenerated files
2 | **/generated/*.*
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter11/application/src/main/java/dev/davivieira/topologyinventory/application/Test.java:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/六边形架构/COLA/99~参考资料/2022~COLA 4.0:应用架构的最佳实践.md:
--------------------------------------------------------------------------------
1 | > [原文地址](https://blog.csdn.net/significantfrank/article/details/110934799) TODO!
2 |
3 | # COLA 4.0:应用架构的最佳实践
4 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/src/layouts/Auth/Layout.css:
--------------------------------------------------------------------------------
1 | .layout_auth {
2 | margin-top: 50px;
3 | }
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/src/layouts/todo/Layout.css:
--------------------------------------------------------------------------------
1 | .layout_home {
2 | margin-top: 50px;
3 | }
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2019~阿里技术专家详解 DDD 系列/codes/bank-start/src/main/resources/application.yml:
--------------------------------------------------------------------------------
1 | server:
2 | port: 8080
3 | spring:
4 | application:
5 | name: bank
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/Modular Monolith with DDD/README.md:
--------------------------------------------------------------------------------
1 | # Modular Monolith with DDD
2 |
3 | Full Modular Monolith .NET application with Domain-Driven Design approach.
4 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2019~阿里技术专家详解 DDD 系列/codes/README.md:
--------------------------------------------------------------------------------
1 | # dddbook
2 |
3 | 领域驱动设计 Demo
4 |
5 | [参考文章](https://yq.aliyun.com/articles/719251?utm_content=g_1000078181)
6 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/security/config/src/main/resources/application-security.properties:
--------------------------------------------------------------------------------
1 | com.educational.platform.security.enabled=true
2 |
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | /.idea
3 |
4 | .gradle
5 | build
6 |
7 | .classpath
8 | .project
9 | bin/
10 | .settings
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/envoy/README.md:
--------------------------------------------------------------------------------
1 | # HOW TO
2 |
3 | https://www.envoyproxy.io/docs/envoy/latest/start/docker
4 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/example.env.test:
--------------------------------------------------------------------------------
1 | DATABASE_URL=postgresql://DB_USER:DB_PASSWORD@yom-db-tests:DB_PORT/DB_NAME
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/k8s/namespace-bitloops.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Namespace
3 | metadata:
4 | name: bitloops
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/security/config/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation 'org.springframework.boot:spring-boot-starter-security'
3 | }
4 |
--------------------------------------------------------------------------------
/领域驱动设计/04~DDD 框架实践/微服务中的 DDD 实践/99~参考资料/2023~基于 DDD 的微服务设计和开发实战.md:
--------------------------------------------------------------------------------
1 | # [2023~基于 DDD 的微服务设计和开发实战](https://github.com/burningmyself/burningmyself.github.io/blob/master/docs/micro/ddd.md)
2 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/src/modules/core/domain/helpers/replace.ts:
--------------------------------------------------------------------------------
1 | export type Replace = Omit & R;
2 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "singleQuote": true,
3 | "trailingComma": "all",
4 | "tabWidth": 2
5 | }
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/api/dto/update-email.dto.ts:
--------------------------------------------------------------------------------
1 | export interface UpdateEmailDTO {
2 | email: string;
3 | }
4 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/src/pages/Home/index.tsx:
--------------------------------------------------------------------------------
1 | import HomePage from './page';
2 |
3 | export default HomePage;
4 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/src/pages/Login/index.tsx:
--------------------------------------------------------------------------------
1 | import Login from './controller';
2 |
3 | export default Login;
4 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/example.env.development:
--------------------------------------------------------------------------------
1 | DATABASE_URL=postgresql://DB_USER:DB_PASSWORD@yom-db-development:DB_PORT/DB_NAME
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/api/dto/complete-todo.dto.ts:
--------------------------------------------------------------------------------
1 | export interface CompleteTodoDto {
2 | todoId: string;
3 | }
4 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/bounded-contexts/marketing/marketing/service/index.ts:
--------------------------------------------------------------------------------
1 | export * from './mock-email.service';
2 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/src/pages/Register/index.tsx:
--------------------------------------------------------------------------------
1 | import Register from './controller';
2 |
3 | export default Register;
4 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/grafana/config:
--------------------------------------------------------------------------------
1 | GF_SECURITY_ADMIN_USER=admin
2 | GF_SECURITY_ADMIN_PASSWORD=changeme
3 | GF_USERS_ALLOW_SIGN_UP=false
--------------------------------------------------------------------------------
/六边形架构/UDLMA/RARF/2014~RFDR:基于 REST 风格与分布式资源抽象的全栈应用软件架构模式.doc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/六边形架构/UDLMA/RARF/2014~RFDR:基于 REST 风格与分布式资源抽象的全栈应用软件架构模式.doc
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2012~ddd-leaven-v2/codes/diagrams/offer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/领域驱动设计/88~系统案例/2012~ddd-leaven-v2/codes/diagrams/offer.png
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2012~ddd-leaven-v2/codes/diagrams/invoicing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/领域驱动设计/88~系统案例/2012~ddd-leaven-v2/codes/diagrams/invoicing.png
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2012~ddd-leaven-v2/codes/diagrams/payments.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/领域驱动设计/88~系统案例/2012~ddd-leaven-v2/codes/diagrams/payments.png
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2012~ddd-leaven-v2/codes/diagrams/purchase.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/领域驱动设计/88~系统案例/2012~ddd-leaven-v2/codes/diagrams/purchase.png
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/src/components/Header/Header.css:
--------------------------------------------------------------------------------
1 | .logout_button {
2 | position: absolute;
3 | top: 20px;
4 | right: 20px;
5 | }
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter07/application/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | module application {
2 | requires domain;
3 | requires static lombok;
4 | }
5 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2012~ddd-leaven-v2/codes/diagrams/equivalent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/领域驱动设计/88~系统案例/2012~ddd-leaven-v2/codes/diagrams/equivalent.png
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2012~ddd-leaven-v2/codes/diagrams/reservation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/领域驱动设计/88~系统案例/2012~ddd-leaven-v2/codes/diagrams/reservation.png
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/src/components/Todo/Entry/index.ts:
--------------------------------------------------------------------------------
1 | import TodoEntry from './TodoEntryController';
2 |
3 | export default TodoEntry;
4 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/src/components/Todo/Panel/index.ts:
--------------------------------------------------------------------------------
1 | import TodoPanel from './TodoPanelController';
2 |
3 | export default TodoPanel;
4 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-base/src/main/java/com/baiyan/ddd/base/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 基础工具包,与业务逻辑毫无关系的工具包
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.base;
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~Hexagonal Architecture With Spring Boot/codes/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'spring-boot-hexagonal-architecture'
2 | include 'coffeeshop-application'
3 | include 'coffeeshop-infrastructure'
4 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/src/layouts/todo/index.ts:
--------------------------------------------------------------------------------
1 | import DashboardLayout from './TodoLayoutController';
2 |
3 | export default DashboardLayout;
4 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2012~ddd-leaven-v2/codes/diagrams/OrderingService.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/领域驱动设计/88~系统案例/2012~ddd-leaven-v2/codes/diagrams/OrderingService.png
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/prisma/migrations/20230201013418_remove_unique_from_user_password/migration.sql:
--------------------------------------------------------------------------------
1 | -- DropIndex
2 | DROP INDEX "User_password_key";
3 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/tsconfig.build.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.json",
3 | "exclude": ["node_modules", "test", "dist", "**/*spec.ts"]
4 | }
5 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/tsconfig.build.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.json",
3 | "exclude": ["node_modules", "test", "dist", "**/*spec.ts"]
4 | }
5 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/src/infra/repositories/iam/index.ts:
--------------------------------------------------------------------------------
1 | import { IamRepository } from './IamRepository';
2 |
3 | export default IamRepository;
4 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/src/infra/repositories/todo/index.ts:
--------------------------------------------------------------------------------
1 | import TodoRepository from './TodoRepository';
2 |
3 | export default TodoRepository;
4 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/src/models/User.ts:
--------------------------------------------------------------------------------
1 | export type User = {
2 | id: string;
3 | name?: string;
4 | email?: string;
5 | jwt: string;
6 | };
7 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2019~阿里技术专家详解 DDD 系列/codes/bank-domain/src/main/java/com/example/bank/exception/AccountNotFoundException.java:
--------------------------------------------------------------------------------
1 | package com.example.bank.exception;
2 |
3 | public class AccountNotFoundException {
4 | }
5 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter01/src/main/java/dev/davivieira/domain/RouterType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.domain;
2 |
3 | public enum RouterType {
4 | EDGE,
5 | CORE
6 | }
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/src/layouts/Auth/index.ts:
--------------------------------------------------------------------------------
1 | import AuthLayoutController from './AuthLayoutController';
2 |
3 | export default AuthLayoutController;
4 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "tabWidth": 2,
4 | "printWidth": 100,
5 | "singleQuote": true,
6 | "trailingComma": "all"
7 | }
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/lib/bounded-contexts/marketing/marketing/dtos/increment-todos.dto.ts:
--------------------------------------------------------------------------------
1 | export interface IncrementTodosDTO {
2 | userId: string;
3 | }
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/lib/bounded-contexts/todo/todo/application/event-handlers/integration/index.ts:
--------------------------------------------------------------------------------
1 | export const StreamingIntegrationEventHandlers = [];
2 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/src/models/Todo.ts:
--------------------------------------------------------------------------------
1 | type Todo = {
2 | id: string;
3 | title: string;
4 | isCompleted: boolean;
5 | };
6 |
7 | export default Todo;
8 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter02/src/main/java/dev/davivieira/domain/vo/Protocol.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.domain.vo;
2 |
3 | public enum Protocol {
4 | IPV4,
5 | IPV6
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter03/src/main/java/dev/davivieira/domain/vo/Protocol.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.domain.vo;
2 |
3 | public enum Protocol {
4 | IPV4,
5 | IPV6
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter04/src/main/java/dev/davivieira/domain/vo/Protocol.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.domain.vo;
2 |
3 | public enum Protocol {
4 | IPV4,
5 | IPV6
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter05/src/main/java/dev/davivieira/domain/vo/Protocol.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.domain.vo;
2 |
3 | public enum Protocol {
4 | IPV4,
5 | IPV6
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/domain/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | module domain {
2 | requires transitive inventory_core_domain;
3 | requires transitive status_sub_domain;
4 | }
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/docs/architecture_tests.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/领域驱动设计/99~参考资料/2023~educational-platform-monolith/docs/architecture_tests.png
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/docs/integration_events.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/领域驱动设计/99~参考资料/2023~educational-platform-monolith/docs/integration_events.png
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-application/src/main/java/com/baiyan/ddd/application/ability/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 按照聚合能力进行分包
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.application.ability;
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-domain/src/main/java/com/baiyan/ddd/domain/aggregate/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 以业务聚合为划分包的标准进行包的划分
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.domain.aggregate;
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-domain/src/main/java/com/baiyan/ddd/domain/share/enums/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 系统的所有枚举应该是共享的
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.domain.share.enums;
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-interaction/src/main/java/com/baiyan/ddd/interaction/config/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 用户交互层统一配置
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.interaction.config;
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-interaction/src/main/java/com/baiyan/ddd/interaction/mq/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * mq消费者入口,逻辑在应用服务中编排实现
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.interaction.mq;
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter01/src/main/resources/routers.txt:
--------------------------------------------------------------------------------
1 | ca23800e-9b5a-11eb-a8b3-0242ac130003;EDGE
2 | 63fdd9ff-242f-4842-993a-7651b5d33e14;EDGE
3 | 81579b05-4b4e-4b9b-91f4-75a5a8561296;CORE
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter02/src/main/java/dev/davivieira/domain/vo/RouterType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.domain.vo;
2 |
3 | public enum RouterType {
4 | EDGE,
5 | CORE
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter02/src/main/java/dev/davivieira/domain/vo/SwitchType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.domain.vo;
2 |
3 | public enum SwitchType {
4 | LAYER2,
5 | LAYER3
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter03/src/main/java/dev/davivieira/domain/vo/RouterType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.domain.vo;
2 |
3 | public enum RouterType {
4 | EDGE,
5 | CORE
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter03/src/main/java/dev/davivieira/domain/vo/SwitchType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.domain.vo;
2 |
3 | public enum SwitchType {
4 | LAYER2,
5 | LAYER3
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter04/src/main/java/dev/davivieira/domain/vo/RouterType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.domain.vo;
2 |
3 | public enum RouterType {
4 | EDGE,
5 | CORE
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter04/src/main/java/dev/davivieira/domain/vo/SwitchType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.domain.vo;
2 |
3 | public enum SwitchType {
4 | LAYER2,
5 | LAYER3
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter05/src/main/java/dev/davivieira/domain/vo/RouterType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.domain.vo;
2 |
3 | public enum RouterType {
4 | EDGE,
5 | CORE
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter05/src/main/java/dev/davivieira/domain/vo/SwitchType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.domain.vo;
2 |
3 | public enum SwitchType {
4 | LAYER2,
5 | LAYER3
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter08/framework/README.md:
--------------------------------------------------------------------------------
1 | # Project dev.davivieira/framework
2 |
3 | Build the project and run all tests with `./mvnw package` or `mvnw.cmd package` for Windows.
4 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2012~ddd-leaven-v2/codes/src/main/java/pl/com/bottega/ecommerce/sales/readmodel/offer/OfferedProductDto.java:
--------------------------------------------------------------------------------
1 | package pl.com.bottega.ecommerce.sales.readmodel.offer;
2 |
3 | public class OfferedProductDto {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/nest-cli.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json.schemastore.org/nest-cli",
3 | "collection": "@nestjs/schematics",
4 | "sourceRoot": "src"
5 | }
6 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2019~阿里技术专家详解 DDD 系列/codes/bank-domain/src/main/java/com/example/bank/exception/DailyLimitExceededException.java:
--------------------------------------------------------------------------------
1 | package com.example.bank.exception;
2 |
3 | public class DailyLimitExceededException extends Throwable {
4 | }
5 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2019~阿里技术专家详解 DDD 系列/codes/bank-domain/src/main/java/com/example/bank/exception/InsufficientFundsException.java:
--------------------------------------------------------------------------------
1 | package com.example.bank.exception;
2 |
3 | public class InsufficientFundsException extends Exception{
4 | }
5 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/docs/bounded_context_map.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/领域驱动设计/99~参考资料/2023~educational-platform-monolith/docs/bounded_context_map.png
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-infrastructure/src/main/java/com/baiyan/ddd/infrastructure/config/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 通用系统配置
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.infrastructure.config;
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-infrastructure/src/main/java/com/baiyan/ddd/infrastructure/constant/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 系统常量
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.infrastructure.constant;
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-interaction/src/main/java/com/baiyan/ddd/interaction/controller/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * web请求
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.interaction.controller;
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter02/src/main/resources/routers.txt:
--------------------------------------------------------------------------------
1 | ca23800e-9b5a-11eb-a8b3-0242ac130003;EDGE
2 | 63fdd9ff-242f-4842-993a-7651b5d33e14;EDGE
3 | 81579b05-4b4e-4b9b-91f4-75a5a8561296;CORE
4 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter03/src/main/resources/routers.txt:
--------------------------------------------------------------------------------
1 | ca23800e-9b5a-11eb-a8b3-0242ac130003;EDGE
2 | 63fdd9ff-242f-4842-993a-7651b5d33e14;EDGE
3 | 81579b05-4b4e-4b9b-91f4-75a5a8561296;CORE
4 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter04/src/main/resources/routers.txt:
--------------------------------------------------------------------------------
1 | ca23800e-9b5a-11eb-a8b3-0242ac130003;EDGE
2 | 63fdd9ff-242f-4842-993a-7651b5d33e14;EDGE
3 | 81579b05-4b4e-4b9b-91f4-75a5a8561296;CORE
4 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter05/src/main/resources/routers.txt:
--------------------------------------------------------------------------------
1 | ca23800e-9b5a-11eb-a8b3-0242ac130003;EDGE
2 | 63fdd9ff-242f-4842-993a-7651b5d33e14;EDGE
3 | 81579b05-4b4e-4b9b-91f4-75a5a8561296;CORE
4 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/envoy/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM envoyproxy/envoy-dev:52e6304c2251308d7970d7d8f59216b921772b21
2 | COPY envoy.yaml /etc/envoy/envoy.yaml
3 | RUN chmod go+r /etc/envoy/envoy.yaml
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/docs/global_module_structure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/领域驱动设计/99~参考资料/2023~educational-platform-monolith/docs/global_module_structure.png
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-application/src/main/java/com/baiyan/ddd/application/ability/share/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 共享工具包
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.application.ability.share;
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-domain/src/main/java/com/baiyan/ddd/domain/aggregate/user/event/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 用户领域事件
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.domain.aggregate.user.event;
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-infrastructure/src/main/java/com/baiyan/ddd/infrastructure/db/mapper/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * dao层处理
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.infrastructure.db.mapper;
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter02/src/main/java/dev/davivieira/domain/vo/ParsePolicyType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.domain.vo;
2 |
3 | public enum ParsePolicyType {
4 | REGEX,
5 | SPLIT
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter03/src/main/java/dev/davivieira/domain/vo/ParsePolicyType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.domain.vo;
2 |
3 | public enum ParsePolicyType {
4 | REGEX,
5 | SPLIT;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter04/src/main/java/dev/davivieira/domain/vo/ParsePolicyType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.domain.vo;
2 |
3 | public enum ParsePolicyType {
4 | REGEX,
5 | SPLIT
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter05/src/main/java/dev/davivieira/domain/vo/ParsePolicyType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.domain.vo;
2 |
3 | public enum ParsePolicyType {
4 | REGEX,
5 | SPLIT
6 | }
7 |
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/docs/images/example-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/docs/images/example-1.png
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/docs/images/example-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/docs/images/example-2.png
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2019~阿里技术专家详解 DDD 系列/codes/bank-types/src/main/java/com/example/bank/exception/InvalidCurrencyException.java:
--------------------------------------------------------------------------------
1 | package com.example.bank.exception;
2 |
3 | public class InvalidCurrencyException extends IllegalArgumentException{
4 | }
5 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/领域驱动设计/99~参考资料/2023~educational-platform-monolith/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-domain/src/main/java/com/baiyan/ddd/domain/aggregate/role/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 角色聚合仅为了展示领域服务的用法,不过多增加类
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.domain.aggregate.role;
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-domain/src/main/java/com/baiyan/ddd/domain/aggregate/user/constant/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 用户领域常量
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.domain.aggregate.user.constant;
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-domain/src/main/java/com/baiyan/ddd/domain/share/valueobject/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 值对象无生命周期,仅为数据载体,共享
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.domain.share.valueobject;
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-infrastructure/src/main/java/com/baiyan/ddd/infrastructure/mq/producer/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * mq生产者工具类
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.infrastructure.mq.producer;
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~Hexagonal Architecture With Spring Boot/codes/coffeeshop-application/src/main/java/com/arhohuttunen/coffeeshop/shared/Size.java:
--------------------------------------------------------------------------------
1 | package com.arhohuttunen.coffeeshop.shared;
2 |
3 | public enum Size {
4 | SMALL,
5 | LARGE
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter09/framework/src/main/java/dev/davivieira/App.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira;
2 |
3 |
4 | public class App {
5 | public static void main(String... args){
6 |
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter10/framework/src/main/java/dev/davivieira/App.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira;
2 |
3 |
4 | public class App {
5 | public static void main(String... args){
6 |
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter11/framework/src/main/java/dev/davivieira/App.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira;
2 |
3 |
4 | public class App {
5 | public static void main(String... args){
6 |
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter12/framework/src/main/java/dev/davivieira/App.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira;
2 |
3 |
4 | public class App {
5 | public static void main(String... args){
6 |
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/application/core/src/main/java/com/clean/example/core/entity/DeviceType.java:
--------------------------------------------------------------------------------
1 | package com.clean.example.core.entity;
2 |
3 | public enum DeviceType {
4 |
5 | ADSL,
6 | FIBRE;
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/lib/bounded-contexts/iam/authentication/dtos/register-command.dto.ts:
--------------------------------------------------------------------------------
1 | export interface RegisterCommandDTO {
2 | email: string;
3 | password: string;
4 | }
5 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2019~阿里技术专家详解 DDD 系列/codes/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/administration/web/src/test/resources/insert_data.sql:
--------------------------------------------------------------------------------
1 | DELETE FROM course_proposal;
2 |
3 | INSERT INTO course_proposal (uuid, status) VALUES ('123E4567E89B12D3A456426655440001', 'WAITING_FOR_APPROVAL');
4 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/courses/application/src/main/java/com/educational/platform/courses/course/LectureType.java:
--------------------------------------------------------------------------------
1 | package com.educational.platform.courses.course;
2 |
3 | public enum LectureType {
4 |
5 | TEXT
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-application/src/main/java/com/baiyan/ddd/application/command/cmd/user/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 用户聚合增删改指令包
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.application.command.cmd.user;
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-interaction/src/main/java/com/baiyan/ddd/interaction/api/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * rpc实现,很薄的一层,类似于controller,rpc请求方法入口
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.interaction.api;
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-interaction/src/main/java/com/baiyan/ddd/interaction/handler/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 其他业务域发布的领域事件,当前业务域需要感知时的入口
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.interaction.handler;
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/docs/images/example-domain.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/docs/images/example-domain.png
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/docs/images/testing-strategy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/docs/images/testing-strategy.png
--------------------------------------------------------------------------------
/领域驱动设计/04~DDD 框架实践/ContextMapper/README.md:
--------------------------------------------------------------------------------
1 | # ContextMapper
2 |
3 | ContextMapper 是一个开源项目,主要是为 DDD 设计提供 DSL 支持,如 DDD 的战略(Strategic)设计,Context 间映射(Context Mapping),BoundedContext 建模以及服务解耦(Service Decomposition),那么我们就看一下如何基于 ContextMapper 来完成一个项目基于 DDD DSL 的表达。
4 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/prisma/migrations/migration_lock.toml:
--------------------------------------------------------------------------------
1 | # Please do not edit this file manually
2 | # It should be added in your version-control system (i.e. Git)
3 | provider = "postgresql"
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/lib/bounded-contexts/iam/authentication/dtos/change-email-command.dto.ts:
--------------------------------------------------------------------------------
1 | export interface ChangeEmailCommandDTO {
2 | email: string;
3 | userId: string;
4 | }
5 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "singleQuote": true,
3 | "printWidth": 100,
4 | "tabWidth": 2,
5 | "useTabs": false,
6 | "semi": true,
7 | "trailingComma": "es5"
8 | }
9 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/.github/ISSUE_TEMPLATE/custom.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Custom issue template
3 | about: Describe this issue template's purpose here.
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 |
11 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/docs/business_submodules_structure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/领域驱动设计/99~参考资料/2023~educational-platform-monolith/docs/business_submodules_structure.png
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-application/src/main/java/com/baiyan/ddd/application/query/model/user/qry/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * CQRS 查询条件
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.application.query.model.user.qry;
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter15/layered/src/main/java/dev/davivieira/layered/service/dto/UserDto.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.layered.service.dto;
2 |
3 | public record UserDto (String email, String password) {}
4 |
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/telemetry-consumer/metrics/model.go:
--------------------------------------------------------------------------------
1 | package metrics
2 |
3 | type MetricEvent struct {
4 | MetricName string `json:"name"`
5 | MetricCategory string `json:"category"`
6 | }
7 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-interaction/src/main/java/com/baiyan/ddd/interaction/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 用户交互层,一切外来影响系统内聚合的均视为用户行为
3 | * mq,web请求,rpc请求均为用户行为
4 | *
5 | * @author baiyan
6 | */
7 | package com.baiyan.ddd.interaction;
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~Hexagonal Architecture With Spring Boot/codes/coffeeshop-application/src/main/java/com/arhohuttunen/coffeeshop/shared/Location.java:
--------------------------------------------------------------------------------
1 | package com.arhohuttunen.coffeeshop.shared;
2 |
3 | public enum Location {
4 | TAKE_AWAY,
5 | IN_STORE
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~Hexagonal Architecture With Spring Boot/codes/coffeeshop-application/src/main/java/com/arhohuttunen/coffeeshop/shared/Milk.java:
--------------------------------------------------------------------------------
1 | package com.arhohuttunen.coffeeshop.shared;
2 |
3 | public enum Milk {
4 | WHOLE,
5 | SKIMMED,
6 | SOY
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-application/src/main/java/com/baiyan/ddd/application/query/assembler/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 查询结果来源于多方服务,最后数据需要解析组合的动作在此执行
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.application.query.assembler;
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-application/src/main/java/com/baiyan/ddd/application/query/model/user/dto/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * CQRS 的 Return-DTO
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.application.query.model.user.dto;
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-infrastructure/src/main/java/com/baiyan/ddd/infrastructure/db/model/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 数据库表实体映射,mybatis实体字段与表结构字段一一对应
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.infrastructure.db.model;
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter14/k8s/configmap.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: topology-inventory
5 | data:
6 | QUARKUS_DATASOURCE_REACTIVE_URL: "mysql://topology-inventory-mysql:3306/inventory"
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter16/k8s/configmap.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: topology-inventory
5 | data:
6 | QUARKUS_DATASOURCE_REACTIVE_URL: "mysql://topology-inventory-mysql:3306/inventory"
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/k8s/configmap.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: topology-inventory
5 | data:
6 | QUARKUS_DATASOURCE_REACTIVE_URL: "mysql://topology-inventory-mysql:3306/inventory"
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/api/dto/add-todo.dto.ts:
--------------------------------------------------------------------------------
1 | import { IsString, IsNotEmpty } from 'class-validator';
2 |
3 | export class AddTodoDto {
4 | @IsNotEmpty()
5 | @IsString()
6 | title: string;
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/lib/bounded-contexts/todo/todo/application/query-handlers/index.ts:
--------------------------------------------------------------------------------
1 | import { GetTodosHandler } from './get-todos.handler';
2 |
3 | export const QueryHandlers = [GetTodosHandler];
4 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~Hexagonal Architecture With Spring Boot/codes/coffeeshop-application/src/main/java/com/arhohuttunen/coffeeshop/shared/Drink.java:
--------------------------------------------------------------------------------
1 | package com.arhohuttunen.coffeeshop.shared;
2 |
3 | public enum Drink {
4 | LATTE,
5 | ESPRESSO,
6 | CAPPUCCINO
7 | }
8 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~Hexagonal Architecture With Spring Boot/codes/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/六边形架构/99~参考资料/2023~Hexagonal Architecture With Spring Boot/codes/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter06/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Protocol.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Protocol {
4 | IPV4,
5 | IPV6;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter06/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/RouterType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum RouterType {
4 | EDGE,
5 | CORE;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter07/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Protocol.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Protocol {
4 | IPV4,
5 | IPV6;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter07/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/RouterType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum RouterType {
4 | EDGE,
5 | CORE;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter08/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Protocol.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Protocol {
4 | IPV4,
5 | IPV6;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter08/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/RouterType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum RouterType {
4 | EDGE,
5 | CORE;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter09/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Protocol.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Protocol {
4 | IPV4,
5 | IPV6;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter09/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/RouterType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum RouterType {
4 | EDGE,
5 | CORE;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter10/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Protocol.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Protocol {
4 | IPV4,
5 | IPV6;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter10/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/RouterType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum RouterType {
4 | EDGE,
5 | CORE;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter11/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Protocol.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Protocol {
4 | IPV4,
5 | IPV6;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter11/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/RouterType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum RouterType {
4 | EDGE,
5 | CORE;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter12/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Protocol.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Protocol {
4 | IPV4,
5 | IPV6;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter12/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/RouterType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum RouterType {
4 | EDGE,
5 | CORE;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter13/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Protocol.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Protocol {
4 | IPV4,
5 | IPV6;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter13/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/RouterType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum RouterType {
4 | EDGE,
5 | CORE;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter14/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Protocol.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Protocol {
4 | IPV4,
5 | IPV6;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter14/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/RouterType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum RouterType {
4 | EDGE,
5 | CORE;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter16/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Protocol.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Protocol {
4 | IPV4,
5 | IPV6;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter16/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/RouterType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum RouterType {
4 | EDGE,
5 | CORE;
6 | }
7 |
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/application/core/build.gradle:
--------------------------------------------------------------------------------
1 | description = "Entities (domain objects) and uses cases that implement the business logic"
2 |
3 | dependencies {
4 | compile libs.string_utils
5 |
6 | testCompile libs.unit_tests
7 | }
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/telemetry-consumer/bl-telemetry.docker.env:
--------------------------------------------------------------------------------
1 | PROMETHEUS_URL=http://prometheus:9090
2 | JAEGER_URL=http://jaeger:14268/api/traces
3 | PUSH_GATEWAY_URL=http://pushgateway:9091
4 | NATS_URL=nats:4222
5 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-base/src/main/java/com/baiyan/ddd/base/model/ddd/MarkerInterface.java:
--------------------------------------------------------------------------------
1 | package com.baiyan.ddd.base.model.ddd;
2 |
3 | /**
4 | * 标记接口
5 | *
6 | * @author baiyan
7 | */
8 | public interface MarkerInterface {
9 | }
10 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/理念与实践介绍系列文章/2024~从腐化严重的 MVC 到 DDD 的轻量化重构.md:
--------------------------------------------------------------------------------
1 | > [原文地址](https://mp.weixin.qq.com/s?src=11×tamp=1723182241&ver=5433&signature=dHKk8xKRcPQZ4p31*t-k6FpBqU95qx7n1I0aK-9iEXWiB0XjYmvT-QFZ7mhI4SLALdS5Rlnp*5kKDhuZGsrIIKzMPwYyhgRnATQp3VE7xj1iBtv4RMCCpXHQdjKnUVxY&new=1)
2 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~Hexagonal Architecture With Spring Boot/codes/coffeeshop-application/src/main/java/com/arhohuttunen/coffeeshop/application/out/OrderNotFound.java:
--------------------------------------------------------------------------------
1 | package com.arhohuttunen.coffeeshop.application.out;
2 |
3 | public class OrderNotFound extends RuntimeException { }
4 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter05/src/main/java/dev/davivieira/application/usecases/NotifyEventUseCase.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.application.usecases;
2 |
3 | public interface NotifyEventUseCase {
4 |
5 | String getEvent();
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter06/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/SwitchType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum SwitchType {
4 | LAYER2,
5 | LAYER3;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter07/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/SwitchType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum SwitchType {
4 | LAYER2,
5 | LAYER3;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter08/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/SwitchType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum SwitchType {
4 | LAYER2,
5 | LAYER3;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter09/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/SwitchType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum SwitchType {
4 | LAYER2,
5 | LAYER3;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter10/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/SwitchType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum SwitchType {
4 | LAYER2,
5 | LAYER3;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter11/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/SwitchType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum SwitchType {
4 | LAYER2,
5 | LAYER3;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter12/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/SwitchType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum SwitchType {
4 | LAYER2,
5 | LAYER3;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter13/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/SwitchType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum SwitchType {
4 | LAYER2,
5 | LAYER3;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter14/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/SwitchType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum SwitchType {
4 | LAYER2,
5 | LAYER3;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter16/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/SwitchType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum SwitchType {
4 | LAYER2,
5 | LAYER3;
6 | }
7 |
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/docs/images/clean-architecture-diagram-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/docs/images/clean-architecture-diagram-1.png
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/docs/images/clean-architecture-diagram-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/docs/images/clean-architecture-diagram-2.png
--------------------------------------------------------------------------------
/领域驱动设计/02~DDD 战略设计/README.md:
--------------------------------------------------------------------------------
1 | # 领域划分
2 |
3 | 在进行业务架构设计时,我们需要进行业务域的划分。能否划分出合理、稳定、可持续发展的业务域对于未来平台的发展可谓至关重要。通过事件风暴建立领域模型,合理划分领域逻辑和物理边界,建立领域对象及服务矩阵和服务架构图,定义符合 DDD 分层架构思想的代码结构模型,保证业务模型与代码模型的一致性。通过上述设计思想、方法和过程,指导团队按照 DDD 设计思想完成微服务设计和开发。梳理业务事件,然后将领域对象、业务事件,根据创建者、单一职责、高内聚和松耦合进行归纳分类,最终确定领域边界。
4 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/lib/bounded-contexts/marketing/marketing/structs/send-email-request.struct.ts:
--------------------------------------------------------------------------------
1 | export type SendEmailRequest = {
2 | origin: string;
3 | destination: string;
4 | content: string;
5 | };
6 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/common/src/main/java/com/educational/platform/common/domain/ValueObject.java:
--------------------------------------------------------------------------------
1 | package com.educational.platform.common.domain;
2 |
3 | /**
4 | * Represents Value Object marker.
5 | */
6 | public interface ValueObject {
7 | }
8 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter14/k8s/secret.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Secret
3 | metadata:
4 | name: topology-inventory
5 | type: Opaque
6 | data:
7 | QUARKUS_DATASOURCE_USERNAME: cm9vdAo=
8 | QUARKUS_DATASOUCE_PASSWORD: cGFzc3dvcmQK
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter16/k8s/secret.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Secret
3 | metadata:
4 | name: topology-inventory
5 | type: Opaque
6 | data:
7 | QUARKUS_DATASOURCE_USERNAME: cm9vdAo=
8 | QUARKUS_DATASOUCE_PASSWORD: cGFzc3dvcmQK
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/k8s/secret.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Secret
3 | metadata:
4 | name: topology-inventory
5 | type: Opaque
6 | data:
7 | QUARKUS_DATASOURCE_USERNAME: cm9vdAo=
8 | QUARKUS_DATASOUCE_PASSWORD: cGFzc3dvcmQK
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2023~Understanding Clean Architecture and Domain-Driven Design (DDD).md:
--------------------------------------------------------------------------------
1 | > [This article](https://medium.com/bimar-teknoloji/understanding-clean-architecture-and-domain-driven-design-ddd-24e89caabc40)
2 |
3 | # Understanding Clean Architecture and Domain-Driven Design (DDD)
4 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/common/src/main/java/com/educational/platform/common/domain/AggregateRoot.java:
--------------------------------------------------------------------------------
1 | package com.educational.platform.common.domain;
2 |
3 | /**
4 | * Represents Aggregate Root marker.
5 | */
6 | public interface AggregateRoot {
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-base/src/main/java/com/baiyan/ddd/base/model/ddd/Ability.java:
--------------------------------------------------------------------------------
1 | package com.baiyan.ddd.base.model.ddd;
2 |
3 | /**
4 | * 能力层标记
5 | *
6 | * @author baiyan
7 | */
8 | public interface Ability extends MarkerInterface {
9 | }
10 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-base/src/main/java/com/baiyan/ddd/base/model/ddd/Adapter.java:
--------------------------------------------------------------------------------
1 | package com.baiyan.ddd.base.model.ddd;
2 |
3 | /**
4 | * 适配器标记
5 | *
6 | * @author baiyan
7 | */
8 | public interface Adapter extends MarkerInterface {
9 | }
10 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-base/src/main/java/com/baiyan/ddd/base/model/ddd/Entity.java:
--------------------------------------------------------------------------------
1 | package com.baiyan.ddd.base.model.ddd;
2 |
3 | /**
4 | * 实体标记
5 | *
6 | * @author baiyan
7 | */
8 | public interface Entity extends MarkerInterface {
9 | }
10 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-base/src/main/java/com/baiyan/ddd/base/model/ddd/Factory.java:
--------------------------------------------------------------------------------
1 | package com.baiyan.ddd.base.model.ddd;
2 |
3 | /**
4 | * 工厂类标记
5 | *
6 | * @author baiyan
7 | */
8 | public interface Factory extends MarkerInterface {
9 | }
10 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-infrastructure/src/main/java/com/baiyan/ddd/infrastructure/db/repository/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 聚合仓储逻辑,除非特殊业务需求,否则仓储内仅保留save,delete,byId方法
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.infrastructure.db.repository;
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/domain/status-sub-domain/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | module status_sub_domain {
2 | exports dev.davivieira.topologyinventory.status;
3 | requires inventory_core_domain;
4 | requires static lombok;
5 | }
6 |
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/application/core/src/main/java/com/clean/example/core/usecase/job/OnFailure.java:
--------------------------------------------------------------------------------
1 | package com.clean.example.core.usecase.job;
2 |
3 | @FunctionalInterface
4 | public interface OnFailure {
5 |
6 | void auditFailure();
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/application/core/src/main/java/com/clean/example/core/usecase/job/OnSuccess.java:
--------------------------------------------------------------------------------
1 | package com.clean.example.core.usecase.job;
2 |
3 | @FunctionalInterface
4 | public interface OnSuccess {
5 |
6 | void auditSuccess();
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/lib/bounded-contexts/marketing/marketing/tests/__tests__/todo-completed-integration/todo-completed-integration.mock.ts:
--------------------------------------------------------------------------------
1 | export const SUCCESS_CASE = {
2 | userId: '123',
3 | todoId: 'todo1',
4 | };
5 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-application/src/main/java/com/baiyan/ddd/application/ability/user/assembler/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 不同能力互相调用时,Command存在互相转化,通过assembler转化
3 | *
4 | * @author baiyan
5 | */
6 | package com.baiyan.ddd.application.ability.user.assembler;
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-base/src/main/java/com/baiyan/ddd/base/model/ddd/Command.java:
--------------------------------------------------------------------------------
1 | package com.baiyan.ddd.base.model.ddd;
2 |
3 | /**
4 | * 增删改指令标记
5 | *
6 | * @author baiyan
7 | */
8 | public interface Command extends MarkerInterface {
9 | }
10 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-base/src/main/java/com/baiyan/ddd/base/model/ddd/Interface.java:
--------------------------------------------------------------------------------
1 | package com.baiyan.ddd.base.model.ddd;
2 |
3 | /**
4 | * 灰度层标记
5 | *
6 | * @author baiyan
7 | */
8 | public interface Interface extends MarkerInterface {
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter15/hexagonal/src/main/java/dev/davivieira/hexagonal/framework/adapters/input/dto/UserDto.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.hexagonal.framework.adapters.input.dto;
2 |
3 | public record UserDto (String email, String password) {}
4 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/domain/inventory-core-domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Protocol.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Protocol {
4 | IPV4,
5 | IPV6;
6 | }
7 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/public/favicon.ico
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/src/components/Heading/Heading.css:
--------------------------------------------------------------------------------
1 | .logo {
2 | margin-left: auto;
3 | margin-right: auto;
4 | }
5 |
6 | .title {
7 | font-size: 1.4rem;
8 | font-weight: 300;
9 | text-align: center;
10 | }
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-infrastructure/src/main/java/com/baiyan/ddd/infrastructure/rpc/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 这里仅为demo,无任何实际业务含义,演示为这是依赖的三方的rpc接口,正常这个应该是
3 | * 微服务提供方给出的api包内的方法定义
4 | *
5 | * @author baiyan
6 | */
7 | package com.baiyan.ddd.infrastructure.rpc;
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/domain/inventory-core-domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/RouterType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum RouterType {
4 | EDGE,
5 | CORE;
6 | }
7 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/nest-cli.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json.schemastore.org/nest-cli",
3 | "collection": "@nestjs/schematics",
4 | "sourceRoot": "src",
5 | "compilerOptions": {
6 | "deleteOutDir": true
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/lib/bounded-contexts/iam/authentication/application/event-handlers/index.ts:
--------------------------------------------------------------------------------
1 | import { StreamingDomainEventHandlers } from './domain';
2 |
3 | export const EventHandlers = [...StreamingDomainEventHandlers];
4 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/lib/bounded-contexts/marketing/marketing/tests/__tests__/user-email-changed-integration/user-email-changed.mock.ts:
--------------------------------------------------------------------------------
1 | export const SUCCESS_CASE = {
2 | userId: '123',
3 | email: 'user@bitloops.com',
4 | };
5 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/users/web/src/test/java/com/educational/platform/TestApplication.java:
--------------------------------------------------------------------------------
1 | package com.educational.platform;
2 |
3 | import org.springframework.boot.autoconfigure.SpringBootApplication;
4 |
5 | @SpringBootApplication
6 | public class TestApplication {
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-application/src/main/java/com/baiyan/ddd/application/query/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 查询应用服务
3 | *
4 | * 纯DB查询直接在查询应用服务中处理即可,查询逻辑涉及到Mysq,ES,Redis等多个
5 | * 存储介质的则使用查询仓储
6 | *
7 | * @author baiyan
8 | */
9 | package com.baiyan.ddd.application.query;
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-base/src/main/java/com/baiyan/ddd/base/model/ddd/AggregateRoot.java:
--------------------------------------------------------------------------------
1 | package com.baiyan.ddd.base.model.ddd;
2 |
3 | /**
4 | * 聚合根标记
5 | *
6 | * @author baiyan
7 | */
8 | public interface AggregateRoot extends MarkerInterface {
9 | }
10 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-base/src/main/java/com/baiyan/ddd/base/model/ddd/DomainService.java:
--------------------------------------------------------------------------------
1 | package com.baiyan.ddd.base.model.ddd;
2 |
3 | /**
4 | * 领域服务标记
5 | *
6 | * @author baiyan
7 | */
8 | public interface DomainService extends MarkerInterface {
9 | }
10 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-base/src/main/java/com/baiyan/ddd/base/model/ddd/Representation.java:
--------------------------------------------------------------------------------
1 | package com.baiyan.ddd.base.model.ddd;
2 |
3 | /**
4 | * 返回实体标记
5 | *
6 | * @author baiyan
7 | */
8 | public interface Representation extends MarkerInterface {
9 | }
10 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-domain/src/main/java/com/baiyan/ddd/domain/share/exception/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 领域逻辑异常,领域层与应用层都有可能用到的,
3 | * 且不具备业务领域大的特殊含义,仅做领域异常标记,
4 | * 因此不单独放置在应用与领域层
5 | *
6 | * @author baiyan
7 | */
8 | package com.baiyan.ddd.domain.share.exception;
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/理念与实践介绍系列文章/2023~阿里 DDD 大佬:从 0 到 1,带大家精通 DDD.md:
--------------------------------------------------------------------------------
1 | > [阿里 DDD 大佬:从 0 到 1,带大家精通 DDD](https://mp.weixin.qq.com/s?src=11×tamp=1723182241&ver=5433&signature=1zwxTn9XspAhQJbfLfNBjdrCnurfDM3IFi7rV*cEXBmWkU-bj-ygFpQd*4O3ltWSZBzUH8tucvjb7bWlMKYb8qtyFWa-44Lkivp4d0ouW*h-7naWJVjqcRXEA5swi4QE&new=1)
2 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter06/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Model.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Model {
4 | XYZ0001,
5 | XYZ0002,
6 | XYZ0003,
7 | XYZ0004
8 | }
9 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter07/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Model.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Model {
4 | XYZ0001,
5 | XYZ0002,
6 | XYZ0003,
7 | XYZ0004
8 | }
9 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter08/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Model.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Model {
4 | XYZ0001,
5 | XYZ0002,
6 | XYZ0003,
7 | XYZ0004
8 | }
9 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter09/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Model.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Model {
4 | XYZ0001,
5 | XYZ0002,
6 | XYZ0003,
7 | XYZ0004
8 | }
9 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter10/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Model.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Model {
4 | XYZ0001,
5 | XYZ0002,
6 | XYZ0003,
7 | XYZ0004
8 | }
9 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter11/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Model.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Model {
4 | XYZ0001,
5 | XYZ0002,
6 | XYZ0003,
7 | XYZ0004
8 | }
9 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter12/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Model.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Model {
4 | XYZ0001,
5 | XYZ0002,
6 | XYZ0003,
7 | XYZ0004
8 | }
9 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter13/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Model.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Model {
4 | XYZ0001,
5 | XYZ0002,
6 | XYZ0003,
7 | XYZ0004
8 | }
9 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter14/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Model.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Model {
4 | XYZ0001,
5 | XYZ0002,
6 | XYZ0003,
7 | XYZ0004
8 | }
9 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter15/hexagonal/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | quarkus.datasource.db-kind=h2
2 | quarkus.datasource.jdbc.url=jdbc:h2:mem:default;DB_CLOSE_DELAY=-1.;NON_KEYWORDS=user
3 | quarkus.hibernate-orm.database.generation = drop-and-create
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter15/layered/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | quarkus.datasource.db-kind=h2
2 | quarkus.datasource.jdbc.url=jdbc:h2:mem:default;DB_CLOSE_DELAY=-1.;NON_KEYWORDS=user
3 | quarkus.hibernate-orm.database.generation = drop-and-create
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter16/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Model.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Model {
4 | XYZ0001,
5 | XYZ0002,
6 | XYZ0003,
7 | XYZ0004
8 | }
9 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/domain/inventory-core-domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/SwitchType.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum SwitchType {
4 | LAYER2,
5 | LAYER3;
6 | }
7 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/lib/bounded-contexts/marketing/marketing/tests/__tests__/user-registered-integration/user-registered-integration.mock.ts:
--------------------------------------------------------------------------------
1 | export const SUCCESS_CASE = {
2 | userId: '123',
3 | email: 'user@bitloops.com',
4 | };
5 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2003~Eric Evan~《Domain-Driven Design: Tackling Complexity in the Heart of Software》/README.md:
--------------------------------------------------------------------------------
1 | # Domain-Driven Design: Tackling Complexity in the Heart of Software
2 |
3 | - [UML Diagram for the DDD Example in Evans' Book](https://github.com/takaakit/uml-diagram-for-ddd-example-in-evans-book)
4 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/common/build.gradle.kts:
--------------------------------------------------------------------------------
1 | dependencies {
2 | api("org.axonframework", "axon-spring-boot-starter", Versions.axon) {
3 | exclude(group = "org.axonframework", module = "axon-server-connector")
4 | }
5 |
6 | runtimeOnly("com.h2database", "h2")
7 | }
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/courses/web/src/test/java/com/educational/platform/TestApplication.java:
--------------------------------------------------------------------------------
1 | package com.educational.platform;
2 |
3 | import org.springframework.boot.autoconfigure.SpringBootApplication;
4 |
5 | @SpringBootApplication
6 | public class TestApplication {
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-rpc/src/main/java/com.baiyan.ddd.rpc/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * api包对应的rpc定义出,以openFeign为准,可以参考博主的另一个通用框架项目对此包的解释
3 | *
4 | * https://github.com/louyanfeng25/common-frame
5 | *
6 | * @author baiyan
7 | */
8 | package com.baiyan.ddd.rpc;
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter05/src/main/web/images/topology_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter05/src/main/web/images/topology_logo.png
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/application/core/src/main/java/com/clean/example/core/usecase/exchange/getcapacity/ExchangeNotFoundException.java:
--------------------------------------------------------------------------------
1 | package com.clean.example.core.usecase.exchange.getcapacity;
2 |
3 | public class ExchangeNotFoundException extends RuntimeException {
4 | }
5 |
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/application/dataproviders/build.gradle:
--------------------------------------------------------------------------------
1 | description = "Retrieve data from whatever source (db, 3rd party, etc.)"
2 |
3 | dependencies {
4 | compile project(":application:core")
5 | compile libs.database
6 |
7 | testCompile libs.unit_tests
8 | }
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/github/assets/structure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/github/assets/structure.png
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/K8s.md:
--------------------------------------------------------------------------------
1 | # Deploying on Kubernetes
2 |
3 | Run the following script after making sure you have added the appropriate secrets to your configuration files located in the k8s folder:
4 |
5 | ```bash
6 | ./apply_k8s_files.sh
7 | ```
8 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/k8s/configmap-bl-grafana-config.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: bl-grafana-config
5 | namespace: bitloops
6 | # data:
7 | # Add the contents of the Grafana config file here as key-value pairs
8 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/k8s/secret-bl-postgres-secret.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Secret
3 | metadata:
4 | name: bl-postgres-secret
5 | namespace: bitloops
6 | stringData:
7 | POSTGRES_PASSWORD: postgres
8 | POSTGRES_DB: iam
9 | POSTGRES_USER: user
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2019~阿里技术专家详解 DDD 系列/codes/bank-domain/src/main/java/com/example/bank/messaging/AuditMessageProducer.java:
--------------------------------------------------------------------------------
1 | package com.example.bank.messaging;
2 |
3 | import com.example.bank.domain.types.AuditMessage;
4 |
5 | public interface AuditMessageProducer {
6 | void send(AuditMessage message);
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2019~阿里技术专家详解 DDD 系列/codes/bank-types/src/main/java/com/example/bank/exception/BusinessException.java:
--------------------------------------------------------------------------------
1 | package com.example.bank.exception;
2 |
3 | public class BusinessException extends Exception{
4 |
5 | public BusinessException(String message) {
6 | super(message);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/course-reviews/web/src/test/java/com/educational/platform/TestApplication.java:
--------------------------------------------------------------------------------
1 | package com.educational.platform;
2 |
3 | import org.springframework.boot.autoconfigure.SpringBootApplication;
4 |
5 | @SpringBootApplication
6 | public class TestApplication {
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/courses/application/src/test/java/com/educational/platform/TestApplication.java:
--------------------------------------------------------------------------------
1 | package com.educational.platform;
2 |
3 | import org.springframework.boot.autoconfigure.SpringBootApplication;
4 |
5 | @SpringBootApplication
6 | public class TestApplication {
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/users/application/src/test/java/com/educational/platform/TestApplication.java:
--------------------------------------------------------------------------------
1 | package com.educational.platform;
2 |
3 | import org.springframework.boot.autoconfigure.SpringBootApplication;
4 |
5 | @SpringBootApplication
6 | public class TestApplication {
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-base/src/main/java/com/baiyan/ddd/base/model/ddd/ApplicationService.java:
--------------------------------------------------------------------------------
1 | package com.baiyan.ddd.base.model.ddd;
2 |
3 | /**
4 | * 应用服务标记
5 | *
6 | * @author baiyan
7 | */
8 | public interface ApplicationService extends MarkerInterface {
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter02/src/main/resources/events.txt:
--------------------------------------------------------------------------------
1 | 00:44:06.906367 IP6 casanova.58183 > menuvivofibra.br.domain: 64865+ PTR? 1.0.0.224.in-addr.arpa. (40)
2 | 00:44:06.912775 IP6 menuvivofibra.br.domain > casanova.58183: 64865 1/0/0 PTR all-systems.mcast.net. (75)
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter03/src/main/resources/events.txt:
--------------------------------------------------------------------------------
1 | 00:44:06.906367 IP6 casanova.58183 > menuvivofibra.br.domain: 64865+ PTR? 1.0.0.224.in-addr.arpa. (40)
2 | 00:44:06.912775 IP6 menuvivofibra.br.domain > casanova.58183: 64865 1/0/0 PTR all-systems.mcast.net. (75)
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter04/src/main/resources/events.txt:
--------------------------------------------------------------------------------
1 | 00:44:06.906367 IP6 casanova.58183 > menuvivofibra.br.domain: 64865+ PTR? 1.0.0.224.in-addr.arpa. (40)
2 | 00:44:06.912775 IP6 menuvivofibra.br.domain > casanova.58183: 64865 1/0/0 PTR all-systems.mcast.net. (75)
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter05/src/main/resources/events.txt:
--------------------------------------------------------------------------------
1 | 00:44:06.906367 IP6 casanova.58183 > menuvivofibra.br.domain: 64865+ PTR? 1.0.0.224.in-addr.arpa. (40)
2 | 00:44:06.912775 IP6 menuvivofibra.br.domain > casanova.58183: 64865 1/0/0 PTR all-systems.mcast.net. (75)
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter11/bootstrap/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | module dev.davivieira.bootstrap {
2 | requires domain;
3 | requires framework;
4 | requires application;
5 | requires jakarta.persistence;
6 | requires transitive quarkus.core;
7 | }
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter12/bootstrap/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | module dev.davivieira.bootstrap {
2 | requires domain;
3 | requires framework;
4 | requires application;
5 | requires jakarta.persistence;
6 | requires transitive quarkus.core;
7 | }
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter13/bootstrap/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | module dev.davivieira.bootstrap {
2 | requires domain;
3 | requires framework;
4 | requires application;
5 | requires jakarta.persistence;
6 | requires transitive quarkus.core;
7 | }
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter14/bootstrap/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | module dev.davivieira.bootstrap {
2 | requires domain;
3 | requires framework;
4 | requires application;
5 | requires jakarta.persistence;
6 | requires transitive quarkus.core;
7 | }
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter16/bootstrap/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | module dev.davivieira.bootstrap {
2 | requires domain;
3 | requires framework;
4 | requires application;
5 | requires jakarta.persistence;
6 | requires transitive quarkus.core;
7 | }
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/bootstrap/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | module dev.davivieira.bootstrap {
2 | requires domain;
3 | requires framework;
4 | requires application;
5 | requires jakarta.persistence;
6 | requires transitive quarkus.core;
7 | }
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/src/app.module.ts:
--------------------------------------------------------------------------------
1 | import { Module } from '@nestjs/common';
2 |
3 | import { AgreementsModule } from '@agreements/main/agreements-module';
4 |
5 | @Module({
6 | imports: [AgreementsModule],
7 | })
8 | export class AppModule {}
9 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/course-enrollments/web/src/test/java/com/educational/platform/TestApplication.java:
--------------------------------------------------------------------------------
1 | package com.educational.platform;
2 |
3 | import org.springframework.boot.autoconfigure.SpringBootApplication;
4 |
5 | @SpringBootApplication
6 | public class TestApplication {
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-api/src/main/java/com/baiyan/ddd/api/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 微服务对外的接口定义包
3 | *
4 | * 具体定义与使用方法请参考我github的另外一个SpringCloud基础架构框架项目
5 | * https://github.com/louyanfeng25/common-frame
6 | *
7 | * @author baiyan
8 | */
9 | package com.baiyan.ddd.api;
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~Hexagonal Architecture With Spring Boot/codes/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/administration/application/src/test/java/com/educational/platform/TestApplication.java:
--------------------------------------------------------------------------------
1 | package com.educational.platform;
2 |
3 | import org.springframework.boot.autoconfigure.SpringBootApplication;
4 |
5 | @SpringBootApplication
6 | public class TestApplication {
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/course-reviews/application/src/test/java/com/educational/platform/TestApplication.java:
--------------------------------------------------------------------------------
1 | package com.educational.platform;
2 |
3 | import org.springframework.boot.autoconfigure.SpringBootApplication;
4 |
5 | @SpringBootApplication
6 | public class TestApplication {
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-base/src/main/java/com/baiyan/ddd/base/model/ddd/QueryApplicationService.java:
--------------------------------------------------------------------------------
1 | package com.baiyan.ddd.base.model.ddd;
2 |
3 | /**
4 | * 查询应用服务
5 | *
6 | * @author baiyan
7 | */
8 | public interface QueryApplicationService extends MarkerInterface {
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~Hexagonal Architecture With Spring Boot/codes/coffeeshop-application/src/main/java/com/arhohuttunen/coffeeshop/shared/Status.java:
--------------------------------------------------------------------------------
1 | package com.arhohuttunen.coffeeshop.shared;
2 |
3 | public enum Status {
4 | PAYMENT_EXPECTED,
5 | PAID,
6 | PREPARING,
7 | READY,
8 | TAKEN
9 | }
10 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/course-enrollments/application/src/test/java/com/educational/platform/TestApplication.java:
--------------------------------------------------------------------------------
1 | package com.educational.platform;
2 |
3 | import org.springframework.boot.autoconfigure.SpringBootApplication;
4 |
5 | @SpringBootApplication
6 | public class TestApplication {
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/理念与实践介绍系列文章/2022~领域驱动设计(DDD)架构演进和 DDD 的几种典型架构介绍(图文详解).md:
--------------------------------------------------------------------------------
1 | > [原文地址](https://mp.weixin.qq.com/s?__biz=MzAwNTQ4MTQ4NQ==&mid=2453586936&idx=1&sn=1ca568242431c8062e744cdcc1106e1a&chksm=8cd1969abba61f8c0061ade10dff086188fd68badfd646c55470cc91b3bc7f5b726363656bb9&scene=27)
2 |
3 | # 领域驱动设计(DDD)架构演进和 DDD 的几种典型架构介绍(图文详解)
4 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/domain/inventory-core-domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Model.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Model {
4 | XYZ0001,
5 | XYZ0002,
6 | XYZ0003,
7 | XYZ0004
8 | }
9 |
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/application/core/src/main/java/com/clean/example/core/usecase/broadbandaccessdevice/getdetails/DeviceNotFoundException.java:
--------------------------------------------------------------------------------
1 | package com.clean.example.core.usecase.broadbandaccessdevice.getdetails;
2 |
3 | public class DeviceNotFoundException extends RuntimeException {
4 | }
5 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM node:18.14-alpine3.16
2 |
3 | WORKDIR /usr/app
4 |
5 | COPY package.json .
6 |
7 | COPY yarn.lock .
8 |
9 | RUN npm install yarn
10 |
11 | RUN yarn install
12 |
13 | COPY . .
14 |
15 | CMD ["yarn", "start:dev"]
16 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/courses/application/src/main/java/com/educational/platform/courses/course/query/ListCourseQuery.java:
--------------------------------------------------------------------------------
1 | package com.educational.platform.courses.course.query;
2 |
3 | /**
4 | * Represents course query for retrieving list of courses.
5 | */
6 | public class ListCourseQuery {
7 | }
8 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter05/src/main/java/dev/davivieira/application/ports/output/NotifyEventOutputPort.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.application.ports.output;
2 |
3 | public interface NotifyEventOutputPort {
4 |
5 | void sendEvent(String Event);
6 | String getEvent();
7 | }
8 |
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/application/core/src/main/java/com/clean/example/core/usecase/exchange/getcapacity/DoesExchangeExist.java:
--------------------------------------------------------------------------------
1 | package com.clean.example.core.usecase.exchange.getcapacity;
2 |
3 | public interface DoesExchangeExist {
4 |
5 | boolean doesExchangeExist(String exchange);
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/application/dataproviders/src/main/java/com/clean/example/dataproviders/network/deviceclient/DeviceClient.java:
--------------------------------------------------------------------------------
1 | package com.clean.example.dataproviders.network.deviceclient;
2 |
3 | public interface DeviceClient {
4 |
5 | String getSerialNumber(String hostname);
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/application/dataproviders/src/main/java/com/clean/example/dataproviders/network/deviceclient/DeviceConnectionTimeoutException.java:
--------------------------------------------------------------------------------
1 | package com.clean.example.dataproviders.network.deviceclient;
2 |
3 | public class DeviceConnectionTimeoutException extends RuntimeException {
4 | }
5 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/src/main.ts:
--------------------------------------------------------------------------------
1 | import { NestFactory } from '@nestjs/core';
2 | import { AppModule } from './app.module';
3 |
4 | async function bootstrap() {
5 | const app = await NestFactory.create(AppModule);
6 | await app.listen(3000);
7 | }
8 | bootstrap();
9 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/lib/bounded-contexts/todo/todo/queries/get-todos.query.ts:
--------------------------------------------------------------------------------
1 | import { Application } from '@bitloops/bl-boilerplate-core';
2 |
3 | export class GetTodosQuery extends Application.Query {
4 | constructor() {
5 | super('Todo');
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/k8s/pvc-bl-mongo-data.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: PersistentVolumeClaim
3 | metadata:
4 | name: bl-mongo-data
5 | namespace: bitloops
6 | spec:
7 | accessModes:
8 | - ReadWriteOnce
9 | resources:
10 | requests:
11 | storage: 1Gi
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/k8s/pvc-bl-nats-data.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: PersistentVolumeClaim
3 | metadata:
4 | name: bl-nats-data
5 | namespace: bitloops
6 | spec:
7 | accessModes:
8 | - ReadWriteOnce
9 | resources:
10 | requests:
11 | storage: 1Gi
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/course-enrollments/web/src/test/resources/insert_data.sql:
--------------------------------------------------------------------------------
1 | DELETE FROM course_enrollment;
2 | DELETE FROM enroll_course;
3 | DELETE FROM student;
4 |
5 | INSERT INTO enroll_course (uuid) VALUES ('123E4567E89B12D3A456426655440001');
6 | INSERT INTO student (username) VALUES ('username');
7 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/users/application/src/main/java/com/educational/platform/users/RoleDTO.java:
--------------------------------------------------------------------------------
1 | package com.educational.platform.users;
2 |
3 | /**
4 | * Possible values of roles during registration.
5 | */
6 | public enum RoleDTO {
7 |
8 | ROLE_STUDENT,
9 | ROLE_TEACHER;
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/baiyan_lou~《深入浅出 DDD》/codes/baiyan-ddd-infrastructure/src/main/java/com/baiyan/ddd/infrastructure/db/converter/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * 领域模型与数据模型的转换类
3 | *
4 | * 此处也可以替换为mapstruct框架,看自己编码习惯
5 | * 如果转换频繁的话,mapstruct是个不错的选择,性能上比较优秀
6 | *
7 | * @author baiyan
8 | */
9 | package com.baiyan.ddd.infrastructure.db.converter;
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter13/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/mysql/data/ProtocolData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.mysql.data;
2 |
3 | public enum ProtocolData {
4 | IPV4,
5 | IPV6;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter13/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/mysql/data/RouterTypeData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.mysql.data;
2 |
3 | public enum RouterTypeData {
4 | EDGE,
5 | CORE;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter14/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/mysql/data/ProtocolData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.mysql.data;
2 |
3 | public enum ProtocolData {
4 | IPV4,
5 | IPV6;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter14/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/mysql/data/RouterTypeData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.mysql.data;
2 |
3 | public enum RouterTypeData {
4 | EDGE,
5 | CORE;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter16/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/mysql/data/ProtocolData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.mysql.data;
2 |
3 | public enum ProtocolData {
4 | IPV4,
5 | IPV6;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter16/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/mysql/data/RouterTypeData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.mysql.data;
2 |
3 | public enum RouterTypeData {
4 | EDGE,
5 | CORE;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/mysql/data/ProtocolData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.mysql.data;
2 |
3 | public enum ProtocolData {
4 | IPV4,
5 | IPV6;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/mysql/data/RouterTypeData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.mysql.data;
2 |
3 | public enum RouterTypeData {
4 | EDGE,
5 | CORE;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/Hexagonal Architecture in Java Tutorial/codes/SvenWoltmann~hexagonal-architecture-java/doc/shop-model-iteration-1.plantuml:
--------------------------------------------------------------------------------
1 | @startuml
2 | class Cart {
3 | }
4 |
5 | Cart *- CartLineItem
6 |
7 | class CartLineItem {
8 | -quantity : int
9 | }
10 |
11 | CartLineItem -> Product
12 |
13 | class Product {
14 | }
15 | @enduml
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/lib/bounded-contexts/todo/todo/application/event-handlers/index.ts:
--------------------------------------------------------------------------------
1 | import { StreamingDomainEventHandlers } from './domain';
2 |
3 | export const StreamingErrorEventHandlers = [];
4 | export const EventHandlers = [...StreamingDomainEventHandlers];
5 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/Domain-Driven Design Starter Modelling Process/README.md:
--------------------------------------------------------------------------------
1 | # Domain-Driven Design Starter Modelling Process
2 |
3 | 
4 |
5 | # Links
6 |
7 | - https://github.com/ddd-crew/ddd-starter-modelling-process ddd-starter-modelling-process
8 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter06/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Vendor.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Vendor {
4 | CISCO,
5 | NETGEAR,
6 | HP,
7 | TPLINK,
8 | DLINK,
9 | JUNIPER
10 | }
11 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter07/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Vendor.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Vendor {
4 | CISCO,
5 | NETGEAR,
6 | HP,
7 | TPLINK,
8 | DLINK,
9 | JUNIPER
10 | }
11 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter08/README.md:
--------------------------------------------------------------------------------
1 | # Chapter 8 - Building the Framework Hexagon
2 | Following are the instructions to compile and run the code samples.
3 |
4 | You need to run these commands from within the chapter 8 directory:
5 |
6 | **To test**
7 | ```
8 | mvn clean test
9 | ```
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter08/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Vendor.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Vendor {
4 | CISCO,
5 | NETGEAR,
6 | HP,
7 | TPLINK,
8 | DLINK,
9 | JUNIPER
10 | }
11 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter09/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Vendor.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Vendor {
4 | CISCO,
5 | NETGEAR,
6 | HP,
7 | TPLINK,
8 | DLINK,
9 | JUNIPER
10 | }
11 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter10/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Vendor.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Vendor {
4 | CISCO,
5 | NETGEAR,
6 | HP,
7 | TPLINK,
8 | DLINK,
9 | JUNIPER
10 | }
11 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter11/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Vendor.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Vendor {
4 | CISCO,
5 | NETGEAR,
6 | HP,
7 | TPLINK,
8 | DLINK,
9 | JUNIPER
10 | }
11 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter12/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Vendor.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Vendor {
4 | CISCO,
5 | NETGEAR,
6 | HP,
7 | TPLINK,
8 | DLINK,
9 | JUNIPER
10 | }
11 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter13/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Vendor.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Vendor {
4 | CISCO,
5 | NETGEAR,
6 | HP,
7 | TPLINK,
8 | DLINK,
9 | JUNIPER
10 | }
11 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter13/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/mysql/data/SwitchTypeData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.mysql.data;
2 |
3 | public enum SwitchTypeData {
4 | LAYER2,
5 | LAYER3;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter14/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Vendor.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Vendor {
4 | CISCO,
5 | NETGEAR,
6 | HP,
7 | TPLINK,
8 | DLINK,
9 | JUNIPER
10 | }
11 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter14/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/mysql/data/SwitchTypeData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.mysql.data;
2 |
3 | public enum SwitchTypeData {
4 | LAYER2,
5 | LAYER3;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter16/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Vendor.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Vendor {
4 | CISCO,
5 | NETGEAR,
6 | HP,
7 | TPLINK,
8 | DLINK,
9 | JUNIPER
10 | }
11 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter16/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/mysql/data/SwitchTypeData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.mysql.data;
2 |
3 | public enum SwitchTypeData {
4 | LAYER2,
5 | LAYER3;
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/mysql/data/SwitchTypeData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.mysql.data;
2 |
3 | public enum SwitchTypeData {
4 | LAYER2,
5 | LAYER3;
6 | }
7 |
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed Mar 16 14:34:23 GMT 2016
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.11-all.zip
7 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/src/assets/bitloops_175x40_transparent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/src/assets/bitloops_175x40_transparent.png
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/k8s/pvc-bl-grafana-data.yaml:
--------------------------------------------------------------------------------
1 |
2 | apiVersion: v1
3 | kind: PersistentVolumeClaim
4 | metadata:
5 | name: bl-grafana-data
6 | namespace: bitloops
7 | spec:
8 | accessModes:
9 | - ReadWriteOnce
10 | resources:
11 | requests:
12 | storage: 1Gi
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/k8s/pvc-bl-postgres-data.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: PersistentVolumeClaim
3 | metadata:
4 | name: bl-postgres-data
5 | namespace: bitloops
6 | spec:
7 | accessModes:
8 | - ReadWriteOnce
9 | resources:
10 | requests:
11 | storage: 1Gi
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/k8s/pvc-bl-prometheus-data.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: PersistentVolumeClaim
3 | metadata:
4 | name: bl-prometheus-data
5 | namespace: bitloops
6 | spec:
7 | accessModes:
8 | - ReadWriteOnce
9 | resources:
10 | requests:
11 | storage: 1Gi
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter07/README.md:
--------------------------------------------------------------------------------
1 | # Chapter 7 - Building the Application Hexagon
2 | Following are the instructions to compile and run the code samples.
3 |
4 | You need to run these commands from within the chapter 7 directory:
5 |
6 | **To test**
7 | ```
8 | mvn clean test
9 | ```
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter11/README.md:
--------------------------------------------------------------------------------
1 | # Chapter 11 - Leveraging CDI Beans to Manage Ports and Use Cases
2 | Following are the instructions to test the code samples.
3 |
4 | You need to run these commands from within the chapter 11 directory:
5 |
6 | **To test**
7 | ```
8 | mvn test
9 | ```
10 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2019~阿里技术专家详解 DDD 系列/codes/bank-types/src/main/java/com/example/bank/exception/MoneyAmoutNotNullException.java:
--------------------------------------------------------------------------------
1 | package com.example.bank.exception;
2 |
3 | public class MoneyAmoutNotNullException extends IllegalArgumentException{
4 |
5 | public MoneyAmoutNotNullException(String message) {
6 | super(message);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/course-reviews/web/src/test/resources/insert_data.sql:
--------------------------------------------------------------------------------
1 | DELETE FROM course_review;
2 | DELETE FROM reviewable_course;
3 | DELETE FROM reviewer;
4 |
5 | INSERT INTO reviewable_course (original_course_id) VALUES ('123E4567E89B12D3A456426655440001');
6 | INSERT INTO reviewer (username) VALUES ('username');
7 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/courses/application/src/main/java/com/educational/platform/courses/course/QuestionDTO.java:
--------------------------------------------------------------------------------
1 | package com.educational.platform.courses.course;
2 |
3 | public class QuestionDTO {
4 |
5 | String content;
6 |
7 | public QuestionDTO(String content) {
8 | this.content = content;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~Hexagonal Architecture With Spring Boot/codes/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | - package-ecosystem: "gradle"
4 | directory: "/"
5 | schedule:
6 | interval: "daily"
7 | groups:
8 | minor-and-patch-dependencies:
9 | update-types:
10 | - "minor"
11 | - "patch"
12 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~Hexagonal Architecture With Spring Boot/codes/coffeeshop-application/src/main/java/com/arhohuttunen/coffeeshop/application/payment/Receipt.java:
--------------------------------------------------------------------------------
1 | package com.arhohuttunen.coffeeshop.application.payment;
2 |
3 | import java.math.BigDecimal;
4 | import java.time.LocalDate;
5 |
6 | public record Receipt(BigDecimal amount, LocalDate paid) { }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/Hexagonal Architecture in Java Tutorial/codes/SvenWoltmann~hexagonal-architecture-java/doc/hexagonal-architecture-modules.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wx-chevalier/DDD-and-Clean-Architecture-Notes/master/六边形架构/99~参考资料/Hexagonal Architecture in Java Tutorial/codes/SvenWoltmann~hexagonal-architecture-java/doc/hexagonal-architecture-modules.png
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/src/modules/core/tests/mocks/mock-domain-error.ts:
--------------------------------------------------------------------------------
1 | import { DomainError } from '@core/domain/errors/domain-error';
2 |
3 | export class MockDomainError extends DomainError {
4 | public constructor() {
5 | super('MockDomainError', 'MockDomainError');
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/courses/integration-events/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(':common')
3 | implementation 'org.springframework:spring-context'
4 |
5 | compileOnly "org.projectlombok:lombok:${Versions.lombok}"
6 | annotationProcessor "org.projectlombok:lombok:${Versions.lombok}"
7 | }
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/users/integration-events/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(':common')
3 | implementation 'org.springframework:spring-context'
4 |
5 | compileOnly "org.projectlombok:lombok:${Versions.lombok}"
6 | annotationProcessor "org.projectlombok:lombok:${Versions.lombok}"
7 | }
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter04/src/main/java/dev/davivieira/framework/adapters/output/h2/data/ProtocolData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.framework.adapters.output.h2.data;
2 |
3 | import jakarta.persistence.Embeddable;
4 |
5 | @Embeddable
6 | public enum ProtocolData {
7 | IPV4,
8 | IPV6
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter05/src/main/java/dev/davivieira/framework/adapters/output/h2/data/ProtocolData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.framework.adapters.output.h2.data;
2 |
3 | import jakarta.persistence.Embeddable;
4 |
5 | @Embeddable
6 | public enum ProtocolData {
7 | IPV4,
8 | IPV6;
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter06/README.md:
--------------------------------------------------------------------------------
1 | # Chapter 6 - Building the Domain Hexagon
2 | Following are the instructions to compile and run the code samples.
3 |
4 | You need to run these commands from within the chapter 6 directory:
5 |
6 | **To test Domain hexagon**
7 | ```
8 | mvn clean test
9 | ```
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter14/bootstrap/src/main/resources/application.yaml:
--------------------------------------------------------------------------------
1 | quarkus:
2 | datasource:
3 | username: ${QUARKUS_DATASOURCE_USERNAME:root}
4 | password: ${QUARKUS_DATASOURCE_PASSWORD:password}
5 | reactive:
6 | url: ${QUARKUS_DATASOURCE_REACTIVE_URL:mysql://localhost:3306/inventory}
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter16/bootstrap/src/main/resources/application.yaml:
--------------------------------------------------------------------------------
1 | quarkus:
2 | datasource:
3 | username: ${QUARKUS_DATASOURCE_USERNAME:root}
4 | password: ${QUARKUS_DATASOURCE_PASSWORD:password}
5 | reactive:
6 | url: ${QUARKUS_DATASOURCE_REACTIVE_URL:mysql://localhost:3306/inventory}
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/bootstrap/src/main/resources/application.yaml:
--------------------------------------------------------------------------------
1 | quarkus:
2 | datasource:
3 | username: ${QUARKUS_DATASOURCE_USERNAME:root}
4 | password: ${QUARKUS_DATASOURCE_PASSWORD:password}
5 | reactive:
6 | url: ${QUARKUS_DATASOURCE_REACTIVE_URL:mysql://localhost:3306/inventory}
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/application/entrypoints/build.gradle:
--------------------------------------------------------------------------------
1 | description = "Ways to interact with the application (e.g. Rest APIs, Jobs, GUIs, etc.)"
2 |
3 | dependencies {
4 | compile project(":application:core")
5 |
6 | compile libs.rest
7 | compile libs.log
8 |
9 | testCompile libs.unit_tests
10 | }
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2012~ddd-leaven-v2/codes/src/main/java/pl/com/bottega/ecommerce/sales/readmodel/offer/OfferQuery.java:
--------------------------------------------------------------------------------
1 | package pl.com.bottega.ecommerce.sales.readmodel.offer;
2 |
3 | public class OfferQuery {
4 |
5 | public boolean isBestBeforeExpired() {
6 | // TODO Auto-generated method stub
7 | return false;
8 | }
9 |
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/src/modules/agreements/application/repositories/notification-repository.ts:
--------------------------------------------------------------------------------
1 | import { Notification } from '@agreements/domain/entities/notification';
2 |
3 | export interface INotificationRepository {
4 | create(notification: Notification): Promise;
5 | }
6 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/src/modules/core/tests/mocks/mock-base-error.ts:
--------------------------------------------------------------------------------
1 | import { BaseError } from '@core/domain/errors/base-error';
2 |
3 | export class MockBaseError extends BaseError {
4 | public constructor() {
5 | super('MockBaseError', 'MockBaseError', 'MockBaseError');
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/lib/bounded-contexts/marketing/marketing/application/event-handlers/domain/index.ts:
--------------------------------------------------------------------------------
1 | import { TodoCompletionsIncrementedHandler } from './todo-completions-incremented.handler';
2 |
3 | export const StreamingDomainEventHandlers = [TodoCompletionsIncrementedHandler];
4 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter04/src/main/java/dev/davivieira/framework/adapters/output/h2/data/RouterTypeData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.framework.adapters.output.h2.data;
2 |
3 | import jakarta.persistence.Embeddable;
4 |
5 | @Embeddable
6 | public enum RouterTypeData {
7 | EDGE,
8 | CORE;
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter05/src/main/java/dev/davivieira/framework/adapters/output/h2/data/RouterTypeData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.framework.adapters.output.h2.data;
2 |
3 | import jakarta.persistence.Embeddable;
4 |
5 | @Embeddable
6 | public enum RouterTypeData {
7 | EDGE,
8 | CORE;
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/domain/inventory-core-domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Vendor.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public enum Vendor {
4 | CISCO,
5 | NETGEAR,
6 | HP,
7 | TPLINK,
8 | DLINK,
9 | JUNIPER
10 | }
11 |
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2020~Clean Architecture Example with Java and Spring Boot/codes/core/src/main/java/com/d4i/sample/movie/category/ports/UpdateCategoryInFilmsEventsGateway.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | package com.d4i.sample.movie.category.ports;
5 |
6 | /**
7 | * @author juanchi
8 | *
9 | */
10 | public class UpdateCategoryInFilmsEventsGateway {
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/lib/bounded-contexts/iam/authentication/application/command-handlers/index.ts:
--------------------------------------------------------------------------------
1 | import { LogInHandler } from './log-in.handler';
2 | import { ChangeEmailHandler } from './change-email.handler';
3 |
4 | export const PubSubCommandHandlers = [LogInHandler, ChangeEmailHandler];
5 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/envoy/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "envoy",
3 | "version": "1.0.0",
4 | "lockfileVersion": 3,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "envoy",
9 | "version": "1.0.0",
10 | "license": "ISC"
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/k8s/service-bl-envoy.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: bl-envoy
5 | namespace: bitloops
6 | spec:
7 | selector:
8 | app: bl-envoy
9 | ports:
10 | - protocol: TCP
11 | port: 8080
12 | targetPort: 8080
13 | type: LoadBalancer
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/course-enrollments/integration-events/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(':common')
3 | implementation 'org.springframework:spring-context'
4 |
5 | compileOnly "org.projectlombok:lombok:${Versions.lombok}"
6 | annotationProcessor "org.projectlombok:lombok:${Versions.lombok}"
7 | }
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/course-reviews/integration-events/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(':common')
3 | implementation 'org.springframework:spring-context'
4 |
5 | compileOnly "org.projectlombok:lombok:${Versions.lombok}"
6 | annotationProcessor "org.projectlombok:lombok:${Versions.lombok}"
7 | }
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~Hexagonal Architecture With Spring Boot/codes/coffeeshop-application/src/main/java/com/arhohuttunen/coffeeshop/application/payment/Payment.java:
--------------------------------------------------------------------------------
1 | package com.arhohuttunen.coffeeshop.application.payment;
2 |
3 | import java.time.LocalDate;
4 | import java.util.UUID;
5 |
6 | public record Payment(UUID orderId, CreditCard creditCard, LocalDate paid) { }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~Hexagonal Architecture With Spring Boot/codes/coffeeshop-application/src/test/resources/data/payment.sql:
--------------------------------------------------------------------------------
1 | insert into payment_entity(id, order_id, card_holder_name, card_number, expiry_month, expiry_year, paid) values ('10fd6267-ea74-4c29-be97-7fc5c81241a5', 'a41c9394-3aa6-4484-b0b4-87de55fa2cf4', 'Michael Faraday', '11223344', 0, 2023, current_timestamp);
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~Hexagonal Architecture With Spring Boot/codes/coffeeshop-infrastructure/src/test/resources/data/payment.sql:
--------------------------------------------------------------------------------
1 | insert into payment_entity(id, order_id, card_holder_name, card_number, expiry_month, expiry_year, paid) values ('10fd6267-ea74-4c29-be97-7fc5c81241a5', 'a41c9394-3aa6-4484-b0b4-87de55fa2cf4', 'Michael Faraday', '11223344', 0, 2023, current_timestamp);
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter04/src/main/java/dev/davivieira/framework/adapters/output/h2/data/SwitchTypeData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.framework.adapters.output.h2.data;
2 |
3 | import jakarta.persistence.Embeddable;
4 |
5 | @Embeddable
6 | public enum SwitchTypeData {
7 | LAYER2,
8 | LAYER3;
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter05/src/main/java/dev/davivieira/framework/adapters/output/h2/data/SwitchTypeData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.framework.adapters.output.h2.data;
2 |
3 | import jakarta.persistence.Embeddable;
4 |
5 | @Embeddable
6 | public enum SwitchTypeData {
7 | LAYER2,
8 | LAYER3;
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter05/src/main/web/js/nav.js:
--------------------------------------------------------------------------------
1 | function myFunction() {
2 | var x = document.getElementById("myTopnav");
3 | if (x.className === "topnav neon-input") {
4 | x.className += " responsive topnav-with-background";
5 | } else {
6 | x.className = "topnav neon-input";
7 | }
8 | }
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter09/README.md:
--------------------------------------------------------------------------------
1 | # Chapter 9 - Leveraging Hexagonal Architecture with Java Modules
2 | Following are the instructions to compile and run the code samples.
3 |
4 | You need to run these commands from within the chapter 9 directory:
5 |
6 | **To test**
7 | ```
8 | mvn clean test
9 | ```
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter13/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/mysql/data/ModelData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.mysql.data;
2 |
3 | public enum ModelData {
4 | XYZ0001,
5 | XYZ0002,
6 | XYZ0003,
7 | XYZ0004
8 | }
9 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter14/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/mysql/data/ModelData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.mysql.data;
2 |
3 | public enum ModelData {
4 | XYZ0001,
5 | XYZ0002,
6 | XYZ0003,
7 | XYZ0004
8 | }
9 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter16/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/mysql/data/ModelData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.mysql.data;
2 |
3 | public enum ModelData {
4 | XYZ0001,
5 | XYZ0002,
6 | XYZ0003,
7 | XYZ0004
8 | }
9 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/mysql/data/ModelData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.mysql.data;
2 |
3 | public enum ModelData {
4 | XYZ0001,
5 | XYZ0002,
6 | XYZ0003,
7 | XYZ0004
8 | }
9 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/Hexagonal Architecture in Java Tutorial/codes/SvenWoltmann~hexagonal-architecture-java/doc/architecture-components.plantuml:
--------------------------------------------------------------------------------
1 | @startuml
2 | [bootstrap]<>
3 | [bootstrap] -> [adapter]
4 |
5 | [adapter]<>
6 | [adapter] -> [application]
7 |
8 | [application]<>
9 | [application] -> [model]
10 |
11 | [model]<>
12 | @enduml
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/application/core/src/main/java/com/clean/example/core/usecase/broadbandaccessdevice/reconcile/GetSerialNumberFromModel.java:
--------------------------------------------------------------------------------
1 | package com.clean.example.core.usecase.broadbandaccessdevice.reconcile;
2 |
3 | public interface GetSerialNumberFromModel {
4 |
5 | String getSerialNumber(String hostname);
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "editor.codeActionsOnSave": {
3 | "source.fixAll.eslint": true
4 | },
5 | "eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact"],
6 | "recommendations": ["dbaeumer.vscode-eslint", "esbenp.prettier-vscode"]
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/k8s/service-bl-grafana.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: bl-grafana
5 | namespace: bitloops
6 | spec:
7 | selector:
8 | app: bl-grafana
9 | ports:
10 | - protocol: TCP
11 | port: 3003
12 | targetPort: 3000
13 | type: LoadBalancer
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/k8s/service-bl-mongo.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: bl-mongo
5 | namespace: bitloops
6 | spec:
7 | selector:
8 | app: bl-mongo
9 | ports:
10 | - protocol: TCP
11 | port: 30001
12 | targetPort: 30001
13 | type: LoadBalancer
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~11.9K~Sairyss~Domain Driven Hexagonal/README.md:
--------------------------------------------------------------------------------
1 | # domain-driven-hexagon
2 |
3 | 
4 |
5 | # Links
6 |
7 | - https://github.com/Sairyss/domain-driven-hexagon Guide on Domain-Driven Design, Hexagonal architecture, best practices etc.
8 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/administration/integration-events/build.gradle.kts:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation(project(":common"))
3 | implementation("org.springframework", "spring-context")
4 |
5 | compileOnly("org.projectlombok", "lombok", Versions.lombok)
6 | annotationProcessor("org.projectlombok", "lombok", Versions.lombok)
7 | }
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter07/application/src/test/resources/dev/davivieira/topologyinventory/application/switches/SwitchAdd.feature:
--------------------------------------------------------------------------------
1 | @SwitchAdd
2 | Feature: Can I add a switch to an edge router?
3 |
4 | Scenario: Adding a switch to an edge router
5 | Given I provide a switch
6 | Then I add the switch to the edge router
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter07/application/src/test/resources/dev/davivieira/topologyinventory/application/switches/SwitchCreate.feature:
--------------------------------------------------------------------------------
1 | @SwitchCreate
2 | Feature: Can I create new switches?
3 |
4 | Scenario: Creating a new switch
5 | Given I provide all required data to create a switch
6 | Then A new switch is created
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter08/application/src/test/resources/dev/davivieira/topologyinventory/application/switches/SwitchAdd.feature:
--------------------------------------------------------------------------------
1 | @SwitchAdd
2 | Feature: Can I add a switch to an edge router?
3 |
4 | Scenario: Adding a switch to an edge router
5 | Given I provide a switch
6 | Then I add the switch to the edge router
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter08/application/src/test/resources/dev/davivieira/topologyinventory/application/switches/SwitchCreate.feature:
--------------------------------------------------------------------------------
1 | @SwitchCreate
2 | Feature: Can I create new switches?
3 |
4 | Scenario: Creating a new switch
5 | Given I provide all required data to create a switch
6 | Then A new switch is created
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter09/application/src/test/resources/dev/davivieira/topologyinventory/application/switches/SwitchAdd.feature:
--------------------------------------------------------------------------------
1 | @SwitchAdd
2 | Feature: Can I add a switch to an edge router?
3 |
4 | Scenario: Adding a switch to an edge router
5 | Given I provide a switch
6 | Then I add the switch to the edge router
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter09/application/src/test/resources/dev/davivieira/topologyinventory/application/switches/SwitchCreate.feature:
--------------------------------------------------------------------------------
1 | @SwitchCreate
2 | Feature: Can I create new switches?
3 |
4 | Scenario: Creating a new switch
5 | Given I provide all required data to create a switch
6 | Then A new switch is created
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter10/application/src/test/resources/dev/davivieira/topologyinventory/application/switches/SwitchAdd.feature:
--------------------------------------------------------------------------------
1 | @SwitchAdd
2 | Feature: Can I add a switch to an edge router?
3 |
4 | Scenario: Adding a switch to an edge router
5 | Given I provide a switch
6 | Then I add the switch to the edge router
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter10/application/src/test/resources/dev/davivieira/topologyinventory/application/switches/SwitchCreate.feature:
--------------------------------------------------------------------------------
1 | @SwitchCreate
2 | Feature: Can I create new switches?
3 |
4 | Scenario: Creating a new switch
5 | Given I provide all required data to create a switch
6 | Then A new switch is created
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter11/application/src/test/resources/dev/davivieira/topologyinventory/application/switches/SwitchAdd.feature:
--------------------------------------------------------------------------------
1 | @SwitchAdd
2 | Feature: Can I add a switch to an edge router?
3 |
4 | Scenario: Adding a switch to an edge router
5 | Given I provide a switch
6 | Then I add the switch to the edge router
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter11/application/src/test/resources/dev/davivieira/topologyinventory/application/switches/SwitchCreate.feature:
--------------------------------------------------------------------------------
1 | @SwitchCreate
2 | Feature: Can I create new switches?
3 |
4 | Scenario: Creating a new switch
5 | Given I provide all required data to create a switch
6 | Then A new switch is created
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter12/application/src/test/resources/dev/davivieira/topologyinventory/application/switches/SwitchAdd.feature:
--------------------------------------------------------------------------------
1 | @SwitchAdd
2 | Feature: Can I add a switch to an edge router?
3 |
4 | Scenario: Adding a switch to an edge router
5 | Given I provide a switch
6 | Then I add the switch to the edge router
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter12/application/src/test/resources/dev/davivieira/topologyinventory/application/switches/SwitchCreate.feature:
--------------------------------------------------------------------------------
1 | @SwitchCreate
2 | Feature: Can I create new switches?
3 |
4 | Scenario: Creating a new switch
5 | Given I provide all required data to create a switch
6 | Then A new switch is created
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter13/application/src/test/resources/dev/davivieira/topologyinventory/application/switches/SwitchAdd.feature:
--------------------------------------------------------------------------------
1 | @SwitchAdd
2 | Feature: Can I add a switch to an edge router?
3 |
4 | Scenario: Adding a switch to an edge router
5 | Given I provide a switch
6 | Then I add the switch to the edge router
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter13/application/src/test/resources/dev/davivieira/topologyinventory/application/switches/SwitchCreate.feature:
--------------------------------------------------------------------------------
1 | @SwitchCreate
2 | Feature: Can I create new switches?
3 |
4 | Scenario: Creating a new switch
5 | Given I provide all required data to create a switch
6 | Then A new switch is created
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter14/application/src/test/resources/dev/davivieira/topologyinventory/application/switches/SwitchAdd.feature:
--------------------------------------------------------------------------------
1 | @SwitchAdd
2 | Feature: Can I add a switch to an edge router?
3 |
4 | Scenario: Adding a switch to an edge router
5 | Given I provide a switch
6 | Then I add the switch to the edge router
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter14/application/src/test/resources/dev/davivieira/topologyinventory/application/switches/SwitchCreate.feature:
--------------------------------------------------------------------------------
1 | @SwitchCreate
2 | Feature: Can I create new switches?
3 |
4 | Scenario: Creating a new switch
5 | Given I provide all required data to create a switch
6 | Then A new switch is created
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter16/application/src/test/resources/dev/davivieira/topologyinventory/application/switches/SwitchAdd.feature:
--------------------------------------------------------------------------------
1 | @SwitchAdd
2 | Feature: Can I add a switch to an edge router?
3 |
4 | Scenario: Adding a switch to an edge router
5 | Given I provide a switch
6 | Then I add the switch to the edge router
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter16/application/src/test/resources/dev/davivieira/topologyinventory/application/switches/SwitchCreate.feature:
--------------------------------------------------------------------------------
1 | @SwitchCreate
2 | Feature: Can I create new switches?
3 |
4 | Scenario: Creating a new switch
5 | Given I provide all required data to create a switch
6 | Then A new switch is created
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/application/src/test/resources/dev/davivieira/topologyinventory/application/switches/SwitchAdd.feature:
--------------------------------------------------------------------------------
1 | @SwitchAdd
2 | Feature: Can I add a switch to an edge router?
3 |
4 | Scenario: Adding a switch to an edge router
5 | Given I provide a switch
6 | Then I add the switch to the edge router
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/application/src/test/resources/dev/davivieira/topologyinventory/application/switches/SwitchCreate.feature:
--------------------------------------------------------------------------------
1 | @SwitchCreate
2 | Feature: Can I create new switches?
3 |
4 | Scenario: Creating a new switch
5 | Given I provide all required data to create a switch
6 | Then A new switch is created
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/application/core/src/main/java/com/clean/example/core/usecase/broadbandaccessdevice/reconcile/GetSerialNumberFromReality.java:
--------------------------------------------------------------------------------
1 | package com.clean.example.core.usecase.broadbandaccessdevice.reconcile;
2 |
3 | public interface GetSerialNumberFromReality {
4 |
5 | String getSerialNumber(String hostname);
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/src/modules/core/domain/errors/domain-error.ts:
--------------------------------------------------------------------------------
1 | import { BaseError } from '@core/domain/errors/base-error';
2 |
3 | export abstract class DomainError extends BaseError {
4 | protected constructor(name: string, message: string) {
5 | super('DomainError', name, message);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/lib/bounded-contexts/iam/authentication/domain/rules/index.ts:
--------------------------------------------------------------------------------
1 | /* eslint-disable @typescript-eslint/no-namespace */
2 | import { ValidEmailRule as ValidEmail } from './valid-email.rule';
3 |
4 | export namespace Rules {
5 | export class ValidEmailRule extends ValidEmail {}
6 | }
7 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/k8s/service-bl-postgres.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: bl-postgres
5 | namespace: bitloops
6 | spec:
7 | selector:
8 | app: bl-postgres
9 | ports:
10 | - protocol: TCP
11 | port: 5432
12 | targetPort: 5432
13 | type: LoadBalancer
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/courses/application/src/main/java/com/educational/platform/courses/course/PublishStatus.java:
--------------------------------------------------------------------------------
1 | package com.educational.platform.courses.course;
2 |
3 | /**
4 | * Represents Course Publish Status.
5 | */
6 | public enum PublishStatus {
7 |
8 | DRAFT,
9 | PUBLISHED,
10 | ARCHIVED
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter02/src/main/java/dev/davivieira/domain/specification/Specification.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.domain.specification;
2 |
3 | public sealed interface Specification permits AbstractSpecification {
4 |
5 | boolean isSatisfiedBy(T t);
6 |
7 | Specification and(Specification specification);
8 | }
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter03/src/main/java/dev/davivieira/domain/specification/Specification.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.domain.specification;
2 |
3 | public sealed interface Specification permits AbstractSpecification {
4 |
5 | boolean isSatisfiedBy(T t);
6 |
7 | Specification and(Specification specification);
8 | }
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter04/src/main/java/dev/davivieira/domain/specification/Specification.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.domain.specification;
2 |
3 | public sealed interface Specification permits AbstractSpecification {
4 |
5 | boolean isSatisfiedBy(T t);
6 |
7 | Specification and(Specification specification);
8 | }
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter05/src/main/java/dev/davivieira/domain/specification/Specification.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.domain.specification;
2 |
3 | public sealed interface Specification permits AbstractSpecification {
4 |
5 | boolean isSatisfiedBy(T t);
6 |
7 | Specification and(Specification specification);
8 | }
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter07/application/src/test/resources/dev/davivieira/topologyinventory/application/networks/NetworkCreate.feature:
--------------------------------------------------------------------------------
1 | @NetworkCreate
2 | Feature: Can I create new networks?
3 |
4 | Scenario: Creating a new network
5 | Given I provide all required data to create a network
6 | Then A new network is created
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter08/application/src/test/resources/dev/davivieira/topologyinventory/application/networks/NetworkCreate.feature:
--------------------------------------------------------------------------------
1 | @NetworkCreate
2 | Feature: Can I create new networks?
3 |
4 | Scenario: Creating a new network
5 | Given I provide all required data to create a network
6 | Then A new network is created
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter09/application/src/test/resources/dev/davivieira/topologyinventory/application/networks/NetworkCreate.feature:
--------------------------------------------------------------------------------
1 | @NetworkCreate
2 | Feature: Can I create new networks?
3 |
4 | Scenario: Creating a new network
5 | Given I provide all required data to create a network
6 | Then A new network is created
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter10/application/src/test/resources/dev/davivieira/topologyinventory/application/networks/NetworkCreate.feature:
--------------------------------------------------------------------------------
1 | @NetworkCreate
2 | Feature: Can I create new networks?
3 |
4 | Scenario: Creating a new network
5 | Given I provide all required data to create a network
6 | Then A new network is created
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter11/application/src/test/resources/dev/davivieira/topologyinventory/application/networks/NetworkCreate.feature:
--------------------------------------------------------------------------------
1 | @NetworkCreate
2 | Feature: Can I create new networks?
3 |
4 | Scenario: Creating a new network
5 | Given I provide all required data to create a network
6 | Then A new network is created
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter12/application/src/test/resources/dev/davivieira/topologyinventory/application/networks/NetworkCreate.feature:
--------------------------------------------------------------------------------
1 | @NetworkCreate
2 | Feature: Can I create new networks?
3 |
4 | Scenario: Creating a new network
5 | Given I provide all required data to create a network
6 | Then A new network is created
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter13/application/src/test/resources/dev/davivieira/topologyinventory/application/networks/NetworkCreate.feature:
--------------------------------------------------------------------------------
1 | @NetworkCreate
2 | Feature: Can I create new networks?
3 |
4 | Scenario: Creating a new network
5 | Given I provide all required data to create a network
6 | Then A new network is created
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter14/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM eclipse-temurin:17.0.8_7-jdk-alpine
2 | ENV APP_FILE_RUNNER bootstrap-1.0-SNAPSHOT-runner.jar
3 | ENV APP_HOME /usr/apps
4 | EXPOSE 8080
5 | COPY bootstrap/target/$APP_FILE_RUNNER $APP_HOME/
6 | WORKDIR $APP_HOME
7 | ENTRYPOINT ["sh", "-c"]
8 | CMD ["exec java -jar $APP_FILE_RUNNER"]
9 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter14/application/src/test/resources/dev/davivieira/topologyinventory/application/networks/NetworkCreate.feature:
--------------------------------------------------------------------------------
1 | @NetworkCreate
2 | Feature: Can I create new networks?
3 |
4 | Scenario: Creating a new network
5 | Given I provide all required data to create a network
6 | Then A new network is created
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter16/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM eclipse-temurin:17.0.8_7-jdk-alpine
2 | ENV APP_FILE_RUNNER bootstrap-1.0-SNAPSHOT-runner.jar
3 | ENV APP_HOME /usr/apps
4 | EXPOSE 8080
5 | COPY bootstrap/target/$APP_FILE_RUNNER $APP_HOME/
6 | WORKDIR $APP_HOME
7 | ENTRYPOINT ["sh", "-c"]
8 | CMD ["exec java -jar $APP_FILE_RUNNER"]
9 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter16/application/src/test/resources/dev/davivieira/topologyinventory/application/networks/NetworkCreate.feature:
--------------------------------------------------------------------------------
1 | @NetworkCreate
2 | Feature: Can I create new networks?
3 |
4 | Scenario: Creating a new network
5 | Given I provide all required data to create a network
6 | Then A new network is created
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM eclipse-temurin:17.0.8_7-jdk-alpine
2 | ENV APP_FILE_RUNNER bootstrap-1.0-SNAPSHOT-runner.jar
3 | ENV APP_HOME /usr/apps
4 | EXPOSE 8080
5 | COPY bootstrap/target/$APP_FILE_RUNNER $APP_HOME/
6 | WORKDIR $APP_HOME
7 | ENTRYPOINT ["sh", "-c"]
8 | CMD ["exec java -jar $APP_FILE_RUNNER"]
9 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/application/src/test/resources/dev/davivieira/topologyinventory/application/networks/NetworkCreate.feature:
--------------------------------------------------------------------------------
1 | @NetworkCreate
2 | Feature: Can I create new networks?
3 |
4 | Scenario: Creating a new network
5 | Given I provide all required data to create a network
6 | Then A new network is created
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/api/dto/register.dto.ts:
--------------------------------------------------------------------------------
1 | import { IsEmail, IsString, IsNotEmpty } from 'class-validator';
2 |
3 | export class RegisterDTO {
4 | @IsEmail()
5 | @IsNotEmpty()
6 | readonly email: string;
7 |
8 | @IsString()
9 | @IsNotEmpty()
10 | readonly password: string;
11 | }
12 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/src/pages/Home/page.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import TodoPanel from '../../components/Todo/Panel';
3 |
4 | function HomePage(): JSX.Element {
5 | return (
6 |
7 |
8 |
9 | );
10 | }
11 | export default HomePage;
12 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/k8s/service-bl-prometheus.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: bl-prometheus
5 | namespace: bitloops
6 | spec:
7 | selector:
8 | app: bl-prometheus
9 | ports:
10 | - protocol: TCP
11 | port: 9090
12 | targetPort: 9090
13 | type: LoadBalancer
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/k8s/service-todo-frontend.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: todo-frontend
5 | namespace: bitloops
6 | spec:
7 | selector:
8 | app: todo-frontend
9 | ports:
10 | - protocol: TCP
11 | port: 3000
12 | targetPort: 3000
13 | type: LoadBalancer
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter01/src/main/java/dev/davivieira/application/ports/output/RouterViewOutputPort.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.application.ports.output;
2 |
3 | import dev.davivieira.domain.Router;
4 |
5 | import java.util.List;
6 |
7 | public interface RouterViewOutputPort {
8 |
9 | List fetchRouters();
10 | }
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter05/src/main/web/includes/menu.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = "clean-architecture-example"
2 |
3 | // application
4 | include "application:core"
5 | include "application:dataproviders"
6 | include "application:entrypoints"
7 | include "application:configuration"
8 |
9 | // testing
10 | include "acceptance-tests"
11 | include "integration-tests"
12 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/src/modules/agreements/domain/errors/characters-limit-error.ts:
--------------------------------------------------------------------------------
1 | import { DomainError } from '@core/domain/errors/domain-error';
2 |
3 | export class CharactersLimitError extends DomainError {
4 | public constructor(message: string) {
5 | super('CharactersLimitError', message);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/src/modules/agreements/domain/errors/item-amount-limit-error.ts:
--------------------------------------------------------------------------------
1 | import { DomainError } from '@core/domain/errors/domain-error';
2 |
3 | export class ItemAmountLimitError extends DomainError {
4 | public constructor(message: string) {
5 | super('ItemAmountLimitError', message);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/src/config/index.ts:
--------------------------------------------------------------------------------
1 | export const AUTH_URL = process.env.AUTH_URL || 'http://localhost:8082/auth/login';
2 | export const PROXY_URL = process.env.PROXY_URL || 'http://localhost:8080';
3 | export const REGISTRATION_URL =
4 | process.env.REGISTRATION_URL || 'http://localhost:8082/auth/register';
5 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/k8s/service-bl-pushgateway.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: bl-pushgateway
5 | namespace: bitloops
6 | spec:
7 | selector:
8 | app: bl-pushgateway
9 | ports:
10 | - protocol: TCP
11 | port: 9091
12 | targetPort: 9091
13 | type: LoadBalancer
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/telemetry-consumer/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM golang:1.22-alpine
2 |
3 | WORKDIR /app
4 |
5 | COPY go.mod .
6 | COPY go.sum .
7 |
8 | RUN go mod download
9 |
10 | COPY . .
11 |
12 | RUN go build -o ./bitloops-telemetry-consumer
13 |
14 | EXPOSE 8080
15 |
16 | CMD [ "./bitloops-telemetry-consumer" ]
17 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/Hexagonal Architecture in Java Tutorial/codes/SvenWoltmann~hexagonal-architecture-java/doc/shop-model-iteration-2.plantuml:
--------------------------------------------------------------------------------
1 | @startuml
2 | class Cart {
3 | -id : CustomerId
4 | }
5 |
6 | Cart *- CartLineItem
7 |
8 | class CartLineItem {
9 | -quantity : int
10 | }
11 |
12 | CartLineItem -> Product
13 |
14 | class Product {
15 | -id : ProductId
16 | }
17 | @enduml
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/src/modules/core/domain/errors/application-error.ts:
--------------------------------------------------------------------------------
1 | import { BaseError } from '@core/domain/errors/base-error';
2 |
3 | export abstract class ApplicationError extends BaseError {
4 | protected constructor(name: string, message: string) {
5 | super('ApplicationError', name, message);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/src/modules/core/tests/mocks/mock-application-error.ts:
--------------------------------------------------------------------------------
1 | import { ApplicationError } from '@core/domain/errors/application-error';
2 |
3 | export class MockApplicationError extends ApplicationError {
4 | public constructor() {
5 | super('MockApplicationError', 'MockApplicationError');
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/src/modules/core/tests/mocks/mock-unexpected-error.ts:
--------------------------------------------------------------------------------
1 | import { BaseError } from '@core/domain/errors/base-error';
2 |
3 | export class MockUnexpectedError extends BaseError {
4 | public constructor() {
5 | super('MockUnexpectedError', 'MockUnexpectedError', 'MockUnexpectedError');
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2019~阿里技术专家详解 DDD 系列/codes/bank-persistence/src/main/java/com/example/bank/persistence/AccountBuilder.java:
--------------------------------------------------------------------------------
1 | package com.example.bank.persistence;
2 |
3 | import com.example.bank.domain.entity.Account;
4 |
5 | public interface AccountBuilder {
6 | Account toAccount(AccountDO accountDO) throws Exception;
7 |
8 | AccountDO fromAccount(Account account);
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~Hexagonal Architecture With Spring Boot/codes/coffeeshop-application/src/main/java/com/arhohuttunen/coffeeshop/application/payment/CreditCard.java:
--------------------------------------------------------------------------------
1 | package com.arhohuttunen.coffeeshop.application.payment;
2 |
3 | import java.time.Month;
4 | import java.time.Year;
5 |
6 | public record CreditCard(String cardHolderName, String cardNumber, Month expiryMonth, Year expiryYear) { }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter14/k8s/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: topology-inventory
5 | labels:
6 | app: topology-inventory
7 | spec:
8 | type: NodePort
9 | ports:
10 | - port: 8080
11 | nodePort: 30080
12 | protocol: TCP
13 | selector:
14 | app: topology-inventory
15 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter16/k8s/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: topology-inventory
5 | labels:
6 | app: topology-inventory
7 | spec:
8 | type: NodePort
9 | ports:
10 | - port: 8080
11 | nodePort: 30080
12 | protocol: TCP
13 | selector:
14 | app: topology-inventory
15 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/k8s/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: topology-inventory
5 | labels:
6 | app: topology-inventory
7 | spec:
8 | type: NodePort
9 | ports:
10 | - port: 8080
11 | nodePort: 30080
12 | protocol: TCP
13 | selector:
14 | app: topology-inventory
15 |
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/application/core/src/main/java/com/clean/example/core/usecase/broadbandaccessdevice/reconcile/UpdateSerialNumberInModel.java:
--------------------------------------------------------------------------------
1 | package com.clean.example.core.usecase.broadbandaccessdevice.reconcile;
2 |
3 | public interface UpdateSerialNumberInModel {
4 |
5 | void updateSerialNumber(String hostname, String serialNumber);
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/src/modules/agreements/application/services/notification-service.ts:
--------------------------------------------------------------------------------
1 | export type NotificationDTO = {
2 | recipientPartyId: string;
3 | title: string;
4 | content: string;
5 | };
6 |
7 | export interface INotificationService {
8 | send(notificationDTO: NotificationDTO): Promise;
9 | }
10 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/lib/bounded-contexts/iam/authentication/application/event-handlers/domain/index.ts:
--------------------------------------------------------------------------------
1 | import { UserUpdatedEmailPublishIntegrationEventHandler } from './updated-email-publish.event-handler';
2 |
3 | export const StreamingDomainEventHandlers = [
4 | UserUpdatedEmailPublishIntegrationEventHandler,
5 | ];
6 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2019~阿里技术专家详解 DDD 系列/codes/bank-domain/src/main/java/com/example/bank/external/ExchangeRateService.java:
--------------------------------------------------------------------------------
1 | package com.example.bank.external;
2 |
3 | import com.example.bank.types.Currency;
4 | import com.example.bank.types.ExchangeRate;
5 |
6 | public interface ExchangeRateService {
7 | ExchangeRate getExchangeRate(Currency source, Currency target);
8 |
9 | }
10 |
11 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~Hexagonal Architecture With Spring Boot/codes/coffeeshop-application/src/test/resources/data/order.sql:
--------------------------------------------------------------------------------
1 | insert into order_entity(id, location, status) values ('757d9c0f-400f-4137-9aea-83e64ba3efb2', 1, 1);
2 | insert into line_item_entity(id, order_id, drink, size, milk, quantity) values ('01ddf82a-5bed-4b56-b7e4-69e76b29f1bc', '757d9c0f-400f-4137-9aea-83e64ba3efb2', 1, 1, 1, 1);
3 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~Hexagonal Architecture With Spring Boot/codes/coffeeshop-infrastructure/src/test/resources/data/order.sql:
--------------------------------------------------------------------------------
1 | insert into order_entity(id, location, status) values ('757d9c0f-400f-4137-9aea-83e64ba3efb2', 1, 1);
2 | insert into line_item_entity(id, order_id, drink, size, milk, quantity) values ('01ddf82a-5bed-4b56-b7e4-69e76b29f1bc', '757d9c0f-400f-4137-9aea-83e64ba3efb2', 1, 1, 1, 1);
3 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter02/src/main/java/dev/davivieira/application/ports/output/RouterViewOutputPort.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.application.ports.output;
2 |
3 | import dev.davivieira.domain.entity.Router;
4 |
5 | import java.util.List;
6 |
7 | public interface RouterViewOutputPort {
8 |
9 | List fetchRouters();
10 | }
11 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter03/src/main/java/dev/davivieira/application/ports/output/RouterViewOutputPort.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.application.ports.output;
2 |
3 | import dev.davivieira.domain.entity.Router;
4 |
5 | import java.util.List;
6 |
7 | public interface RouterViewOutputPort {
8 |
9 | List fetchRouters();
10 | }
11 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter13/framework/src/test/resources/application.properties:
--------------------------------------------------------------------------------
1 | quarkus.datasource.db-kind = mysql
2 | quarkus.datasource.jdbc=false
3 | quarkus.datasource.reactive=true
4 | quarkus.hibernate-orm.database.generation=drop-and-create
5 | quarkus.hibernate-orm.sql-load-script=inventory.sql
6 | quarkus.vertx.max-event-loop-execute-time=100
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter14/framework/src/test/resources/application.properties:
--------------------------------------------------------------------------------
1 | quarkus.datasource.db-kind = mysql
2 | quarkus.datasource.jdbc=false
3 | quarkus.datasource.reactive=true
4 | quarkus.hibernate-orm.database.generation=drop-and-create
5 | quarkus.hibernate-orm.sql-load-script=inventory.sql
6 | quarkus.vertx.max-event-loop-execute-time=100
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter16/framework/src/test/resources/application.properties:
--------------------------------------------------------------------------------
1 | quarkus.datasource.db-kind = mysql
2 | quarkus.datasource.jdbc=false
3 | quarkus.datasource.reactive=true
4 | quarkus.hibernate-orm.database.generation=drop-and-create
5 | quarkus.hibernate-orm.sql-load-script=inventory.sql
6 | quarkus.vertx.max-event-loop-execute-time=100
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/framework/src/test/resources/application.properties:
--------------------------------------------------------------------------------
1 | quarkus.datasource.db-kind = mysql
2 | quarkus.datasource.jdbc=false
3 | quarkus.datasource.reactive=true
4 | quarkus.hibernate-orm.database.generation=drop-and-create
5 | quarkus.hibernate-orm.sql-load-script=inventory.sql
6 | quarkus.vertx.max-event-loop-execute-time=100
--------------------------------------------------------------------------------
/整洁架构/99~参考资料/2016~Clean Architecture Example (Java)/codes/application/core/src/main/java/com/clean/example/core/usecase/broadbandaccessdevice/reconcile/GetAllDeviceHostnames.java:
--------------------------------------------------------------------------------
1 | package com.clean.example.core.usecase.broadbandaccessdevice.reconcile;
2 |
3 | import java.util.List;
4 |
5 | public interface GetAllDeviceHostnames {
6 |
7 | List getAllDeviceHostnames();
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/src/modules/agreements/application/errors/party-not-found-error.ts:
--------------------------------------------------------------------------------
1 | import { ApplicationError } from '@core/domain/errors/application-error';
2 |
3 | export class PartyNotFoundError extends ApplicationError {
4 | public constructor(message: string) {
5 | super('PartyNotFoundError', message);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/.eslintignore:
--------------------------------------------------------------------------------
1 | */proto/*
2 | /src/bitloops/proto/*
3 | */src/bitloops/proto/*
4 | /src/bitloops/proto/todo.ts
5 | */src/bitloops/proto/todo.ts
6 | /src/bitloops/proto/todo_pb.d.ts
7 | */src/bitloops/proto/todo_pb.d.ts
8 | /src/bitloops/proto/TodoServiceClient_Pb.ts
9 | */src/bitloops/proto/TodoServiceClient_Pb.ts
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/frontend/.prettierignore:
--------------------------------------------------------------------------------
1 | */proto/*
2 | /src/bitloops/proto/*
3 | */src/bitloops/proto/*
4 | /src/bitloops/proto/todo.ts
5 | */src/bitloops/proto/todo.ts
6 | /src/bitloops/proto/todo_pb.d.ts
7 | */src/bitloops/proto/todo_pb.d.ts
8 | /src/bitloops/proto/TodoServiceClient_Pb.ts
9 | */src/bitloops/proto/TodoServiceClient_Pb.ts
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/k8s/service-bl-telemetry-consumer.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: bl-telemetry-consumer
5 | namespace: bitloops
6 | spec:
7 | selector:
8 | app: bl-telemetry-consumer
9 | ports:
10 | - protocol: TCP
11 | port: 80
12 | targetPort: 80
13 | type: ClusterIP
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2019~阿里技术专家详解 DDD 系列/codes/bank-types/src/main/java/com/example/bank/common/Result.java:
--------------------------------------------------------------------------------
1 | package com.example.bank.common;
2 |
3 | public class Result {
4 |
5 | private T data;
6 |
7 | public Result(T data) {
8 | this.data = data;
9 | }
10 |
11 | public static Result success(boolean data) {
12 | return new Result(data);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter04/src/main/java/dev/davivieira/application/ports/output/RouterViewOutputPort.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.application.ports.output;
2 |
3 | import dev.davivieira.domain.entity.Router;
4 |
5 | import java.util.List;
6 |
7 | public interface RouterViewOutputPort {
8 |
9 | List fetchRelatedRouters();
10 | }
11 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter05/src/main/java/dev/davivieira/application/ports/output/RouterViewOutputPort.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.application.ports.output;
2 |
3 | import dev.davivieira.domain.entity.Router;
4 |
5 | import java.util.List;
6 |
7 | public interface RouterViewOutputPort {
8 |
9 | List fetchRelatedRouters();
10 | }
11 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter08/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/h2/data/ProtocolData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.h2.data;
2 |
3 | import jakarta.persistence.Embeddable;
4 |
5 | @Embeddable
6 | public enum ProtocolData {
7 | IPV4,
8 | IPV6;
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter09/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/h2/data/ProtocolData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.h2.data;
2 |
3 | import jakarta.persistence.Embeddable;
4 |
5 | @Embeddable
6 | public enum ProtocolData {
7 | IPV4,
8 | IPV6;
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter10/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/h2/data/ProtocolData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.h2.data;
2 |
3 | import jakarta.persistence.Embeddable;
4 |
5 | @Embeddable
6 | public enum ProtocolData {
7 | IPV4,
8 | IPV6;
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter11/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/h2/data/ProtocolData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.h2.data;
2 |
3 | import jakarta.persistence.Embeddable;
4 |
5 | @Embeddable
6 | public enum ProtocolData {
7 | IPV4,
8 | IPV6;
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter12/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/h2/data/ProtocolData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.h2.data;
2 |
3 | import jakarta.persistence.Embeddable;
4 |
5 | @Embeddable
6 | public enum ProtocolData {
7 | IPV4,
8 | IPV6;
9 | }
10 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2012~ddd-leaven-v2/codes/src/main/java/pl/com/bottega/ecommerce/sales/readmodel/offer/Offer.java:
--------------------------------------------------------------------------------
1 | package pl.com.bottega.ecommerce.sales.readmodel.offer;
2 |
3 | import java.util.List;
4 |
5 | import pl.com.bottega.ddd.annotations.application.Finder;
6 |
7 | @Finder
8 | public interface Offer {
9 |
10 | public List find(OfferQuery query);
11 | }
12 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/src/modules/agreements/domain/errors/currency-amount-limit-error.ts:
--------------------------------------------------------------------------------
1 | import { DomainError } from '@core/domain/errors/domain-error';
2 |
3 | export class CurrencyItemAmountLimitError extends DomainError {
4 | public constructor(message: string) {
5 | super('CurrencyItemAmountLimitError', message);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/lib/bounded-contexts/marketing/marketing/ports/user-write.repo-port.ts:
--------------------------------------------------------------------------------
1 | import { Application, Domain } from '@bitloops/bl-boilerplate-core';
2 | import { UserEntity } from '../domain/user.entity';
3 |
4 | export type UserWriteRepoPort = Application.Repo.ICRUDWritePort<
5 | UserEntity,
6 | Domain.UUIDv4
7 | >;
8 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/lib/bounded-contexts/todo/todo/application/errors/index.ts:
--------------------------------------------------------------------------------
1 | import { TodoNotFoundError as TodoNotFound } from './todo-not-found.error';
2 |
3 | // eslint-disable-next-line @typescript-eslint/no-namespace
4 | export namespace ApplicationErrors {
5 | export class TodoNotFoundError extends TodoNotFound {}
6 | }
7 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter07/application/src/test/resources/dev/davivieira/topologyinventory/application/networks/NetworkAdd.feature:
--------------------------------------------------------------------------------
1 | @NetworkAdd
2 | Feature: Can I add a network to a switch?
3 |
4 | Scenario: Adding a network to a switch
5 | Given I have a network
6 | And I have a switch to add a network
7 | Then I add the network to the switch
8 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter08/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/h2/data/RouterTypeData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.h2.data;
2 |
3 | import jakarta.persistence.Embeddable;
4 |
5 | @Embeddable
6 | public enum RouterTypeData {
7 | EDGE,
8 | CORE;
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter09/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/h2/data/RouterTypeData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.h2.data;
2 |
3 | import jakarta.persistence.Embeddable;
4 |
5 | @Embeddable
6 | public enum RouterTypeData {
7 | EDGE,
8 | CORE;
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter10/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/h2/data/RouterTypeData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.h2.data;
2 |
3 | import jakarta.persistence.Embeddable;
4 |
5 | @Embeddable
6 | public enum RouterTypeData {
7 | EDGE,
8 | CORE;
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter11/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/h2/data/RouterTypeData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.h2.data;
2 |
3 | import jakarta.persistence.Embeddable;
4 |
5 | @Embeddable
6 | public enum RouterTypeData {
7 | EDGE,
8 | CORE;
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter12/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/h2/data/RouterTypeData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.h2.data;
2 |
3 | import jakarta.persistence.Embeddable;
4 |
5 | @Embeddable
6 | public enum RouterTypeData {
7 | EDGE,
8 | CORE;
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter13/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/mysql/data/VendorData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.mysql.data;
2 |
3 | public enum VendorData {
4 | CISCO,
5 | NETGEAR,
6 | HP,
7 | TPLINK,
8 | DLINK,
9 | JUNIPER
10 | }
11 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter14/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/mysql/data/VendorData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.mysql.data;
2 |
3 | public enum VendorData {
4 | CISCO,
5 | NETGEAR,
6 | HP,
7 | TPLINK,
8 | DLINK,
9 | JUNIPER
10 | }
11 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter15/layered/src/main/java/dev/davivieira/layered/App.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.layered;
2 |
3 | import io.quarkus.runtime.Quarkus;
4 | import io.quarkus.runtime.annotations.QuarkusMain;
5 | @QuarkusMain
6 | public class App {
7 | public static void main(String ... args) {
8 | Quarkus.run(args);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter16/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/mysql/data/VendorData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.mysql.data;
2 |
3 | public enum VendorData {
4 | CISCO,
5 | NETGEAR,
6 | HP,
7 | TPLINK,
8 | DLINK,
9 | JUNIPER
10 | }
11 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/mysql/data/VendorData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.mysql.data;
2 |
3 | public enum VendorData {
4 | CISCO,
5 | NETGEAR,
6 | HP,
7 | TPLINK,
8 | DLINK,
9 | JUNIPER
10 | }
11 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2023~DDD-Clean-Architecture/codes/gsaaraujo~DDD-Clean-Architecture-backend/src/modules/agreements/application/errors/agreement-not-found-error.ts:
--------------------------------------------------------------------------------
1 | import { ApplicationError } from '@core/domain/errors/application-error';
2 |
3 | export class AgreementNotFoundError extends ApplicationError {
4 | public constructor(message: string) {
5 | super('AgreementNotFoundError', message);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/docs/architecture-decisions/0010-use-axon-framework.md:
--------------------------------------------------------------------------------
1 | # 10. Axon Framework.
2 | Date: 2020-07-06
3 |
4 | ## Status
5 | Accepted
6 |
7 | ## Context
8 | Currently, a lot of custom classes are defined for DDD building blocks. It will be better to use DDD library for these goals.
9 |
10 | ## Decision
11 | Axon Framework will be used as DDD library.
12 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter08/application/src/test/resources/dev/davivieira/topologyinventory/application/networks/NetworkAdd.feature:
--------------------------------------------------------------------------------
1 | @NetworkAdd
2 | Feature: Can I add a network to a switch?
3 |
4 | #Scenario: Adding a network to a switch
5 | # Given I have a network
6 | # And I have a switch to add a network
7 | # Then I add the network to the switch
8 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter08/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/h2/data/SwitchTypeData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.h2.data;
2 |
3 | import jakarta.persistence.Embeddable;
4 |
5 | @Embeddable
6 | public enum SwitchTypeData {
7 | LAYER2,
8 | LAYER3;
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter09/application/src/test/resources/dev/davivieira/topologyinventory/application/networks/NetworkAdd.feature:
--------------------------------------------------------------------------------
1 | @NetworkAdd
2 | Feature: Can I add a network to a switch?
3 |
4 | #Scenario: Adding a network to a switch
5 | # Given I have a network
6 | # And I have a switch to add a network
7 | # Then I add the network to the switch
8 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter09/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/h2/data/SwitchTypeData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.h2.data;
2 |
3 | import jakarta.persistence.Embeddable;
4 |
5 | @Embeddable
6 | public enum SwitchTypeData {
7 | LAYER2,
8 | LAYER3;
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter10/application/src/test/resources/dev/davivieira/topologyinventory/application/networks/NetworkAdd.feature:
--------------------------------------------------------------------------------
1 | @NetworkAdd
2 | Feature: Can I add a network to a switch?
3 |
4 | #Scenario: Adding a network to a switch
5 | # Given I have a network
6 | # And I have a switch to add a network
7 | # Then I add the network to the switch
8 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter10/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/h2/data/SwitchTypeData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.h2.data;
2 |
3 | import jakarta.persistence.Embeddable;
4 |
5 | @Embeddable
6 | public enum SwitchTypeData {
7 | LAYER2,
8 | LAYER3;
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter11/application/src/test/resources/dev/davivieira/topologyinventory/application/networks/NetworkAdd.feature:
--------------------------------------------------------------------------------
1 | @NetworkAdd
2 | Feature: Can I add a network to a switch?
3 |
4 | #Scenario: Adding a network to a switch
5 | # Given I have a network
6 | # And I have a switch to add a network
7 | # Then I add the network to the switch
8 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter11/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/h2/data/SwitchTypeData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.h2.data;
2 |
3 | import jakarta.persistence.Embeddable;
4 |
5 | @Embeddable
6 | public enum SwitchTypeData {
7 | LAYER2,
8 | LAYER3;
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter12/application/src/test/resources/dev/davivieira/topologyinventory/application/networks/NetworkAdd.feature:
--------------------------------------------------------------------------------
1 | @NetworkAdd
2 | Feature: Can I add a network to a switch?
3 |
4 | #Scenario: Adding a network to a switch
5 | # Given I have a network
6 | # And I have a switch to add a network
7 | # Then I add the network to the switch
8 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter12/framework/src/main/java/dev/davivieira/topologyinventory/framework/adapters/output/h2/data/SwitchTypeData.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.framework.adapters.output.h2.data;
2 |
3 | import jakarta.persistence.Embeddable;
4 |
5 | @Embeddable
6 | public enum SwitchTypeData {
7 | LAYER2,
8 | LAYER3;
9 | }
10 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter13/application/src/test/resources/dev/davivieira/topologyinventory/application/networks/NetworkAdd.feature:
--------------------------------------------------------------------------------
1 | @NetworkAdd
2 | Feature: Can I add a network to a switch?
3 |
4 | #Scenario: Adding a network to a switch
5 | # Given I have a network
6 | # And I have a switch to add a network
7 | # Then I add the network to the switch
8 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter14/application/src/test/resources/dev/davivieira/topologyinventory/application/networks/NetworkAdd.feature:
--------------------------------------------------------------------------------
1 | @NetworkAdd
2 | Feature: Can I add a network to a switch?
3 |
4 | #Scenario: Adding a network to a switch
5 | # Given I have a network
6 | # And I have a switch to add a network
7 | # Then I add the network to the switch
8 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter16/application/src/test/resources/dev/davivieira/topologyinventory/application/networks/NetworkAdd.feature:
--------------------------------------------------------------------------------
1 | @NetworkAdd
2 | Feature: Can I add a network to a switch?
3 |
4 | #Scenario: Adding a network to a switch
5 | # Given I have a network
6 | # And I have a switch to add a network
7 | # Then I add the network to the switch
8 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter17/application/src/test/resources/dev/davivieira/topologyinventory/application/networks/NetworkAdd.feature:
--------------------------------------------------------------------------------
1 | @NetworkAdd
2 | Feature: Can I add a network to a switch?
3 |
4 | #Scenario: Adding a network to a switch
5 | # Given I have a network
6 | # And I have a switch to add a network
7 | # Then I add the network to the switch
8 |
--------------------------------------------------------------------------------
/领域驱动设计/88~系统案例/2024~1.2K~ddd-hexagonal-cqrs-es-eda/codes/ddd-hexagonal-cqrs-es-eda/backend/src/lib/bounded-contexts/marketing/marketing/application/errors/index.ts:
--------------------------------------------------------------------------------
1 | import { UserNotFoundError as UserNotFound } from './user-not-found.error';
2 |
3 | // eslint-disable-next-line @typescript-eslint/no-namespace
4 | export namespace ApplicationErrors {
5 | export class UserNotFoundError extends UserNotFound {}
6 | }
7 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2019~阿里技术专家详解 DDD 系列/codes/bank-domain/src/main/java/com/example/bank/domain/types/AuditMessage.java:
--------------------------------------------------------------------------------
1 | package com.example.bank.domain.types;
2 |
3 | import com.example.bank.domain.entity.Account;
4 | import com.example.bank.types.Money;
5 |
6 | public class AuditMessage {
7 | public AuditMessage(Account sourceAccount, Account targetAccount, Money targetMoney) {
8 |
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/administration/application/src/main/java/com/educational/platform/administration/course/query/ListCourseProposalsQuery.java:
--------------------------------------------------------------------------------
1 | package com.educational.platform.administration.course.query;
2 |
3 | import lombok.Value;
4 |
5 | /**
6 | * Represents list course proposals query.
7 | */
8 | @Value
9 | public class ListCourseProposalsQuery {
10 | }
11 |
--------------------------------------------------------------------------------
/领域驱动设计/99~参考资料/2023~educational-platform-monolith/docs/architecture-decisions/0009-architecture-tests.md:
--------------------------------------------------------------------------------
1 | # 9. Architecture tests.
2 | Date: 2020-06-27
3 |
4 | ## Status
5 | Accepted
6 |
7 | ## Context
8 | We need to have the mechanism for supporting and validating common architecture principles in all application.
9 |
10 | ## Decision
11 | Architecture tests with using Archunit should be implemented.
12 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter06/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Location.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public record Location (
4 | String address,
5 | String city,
6 | String state,
7 | int zipCode,
8 | String country,
9 | float latitude,
10 | float longitude
11 | ) {}
12 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter07/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Location.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public record Location (
4 | String address,
5 | String city,
6 | String state,
7 | int zipCode,
8 | String country,
9 | float latitude,
10 | float longitude
11 | ) {}
12 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter08/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Location.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public record Location (
4 | String address,
5 | String city,
6 | String state,
7 | int zipCode,
8 | String country,
9 | float latitude,
10 | float longitude
11 | ) {}
12 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter09/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Location.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public record Location (
4 | String address,
5 | String city,
6 | String state,
7 | int zipCode,
8 | String country,
9 | float latitude,
10 | float longitude
11 | ) {}
12 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter10/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Location.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public record Location (
4 | String address,
5 | String city,
6 | String state,
7 | int zipCode,
8 | String country,
9 | float latitude,
10 | float longitude
11 | ) {}
12 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter11/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Location.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public record Location (
4 | String address,
5 | String city,
6 | String state,
7 | int zipCode,
8 | String country,
9 | float latitude,
10 | float longitude
11 | ) {}
12 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter12/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Location.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public record Location (
4 | String address,
5 | String city,
6 | String state,
7 | int zipCode,
8 | String country,
9 | float latitude,
10 | float longitude
11 | ) {}
12 |
--------------------------------------------------------------------------------
/六边形架构/99~参考资料/2023~《Designing Hexagonal Architecture with Java》/codes/Chapter13/domain/src/main/java/dev/davivieira/topologyinventory/domain/vo/Location.java:
--------------------------------------------------------------------------------
1 | package dev.davivieira.topologyinventory.domain.vo;
2 |
3 | public record Location (
4 | String address,
5 | String city,
6 | String state,
7 | int zipCode,
8 | String country,
9 | float latitude,
10 | float longitude
11 | ) {}
12 |
--------------------------------------------------------------------------------