Skip to content

Files

만들면서-배우는-클린-아키텍처

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Aug 14, 2023
Aug 14, 2023
Aug 14, 2023
Aug 14, 2023
Aug 14, 2023
Aug 14, 2023
Aug 14, 2023
Aug 14, 2023

만들면서 배우는 클린 아키텍처

'만들면서 배우는 클릭 아키텍처'를 읽고 실습 및 정리한 내용입니다.

https://www.yes24.com/Product/Goods/105138479?pid=123487&cosemkid=go16373101893711165&gclid=Cj0KCQjw2eilBhCCARIsAG0Pf8sMhcrVAgCxjs5PbGMjUaaRa2Zu8PJLABGze_tqwJf1pxOKkv7lk9kaAt9PEALw_wcB

image

  1. 계층형 아키텍처의 문제는 무엇일까?
  2. 의존성 역전하기
  3. 코드 구성하기
  4. 유스케이스 구현하기
  5. 웹 어뎁터 구현하기
  6. 영속성 어뎁터 구현하기
  7. 아키텍처 요소 테스트하기
  8. 경계 간 매핑하기
  9. 애플리케이션 조립하기
  10. 아키텍처 경계 강제하기
  11. 의식적으로 지름길 사용하기
  12. 아키텍처 스타일 결정하기

Structure

.
├── main
│   ├── java
│   │   └── com
│   │       └── architecture
│   │           └── clean
│   │               ├── CleanApplication.java
│   │               ├── account
│   │               │   ├── adapter
│   │               │   │   ├── in
│   │               │   │   │   └── web
│   │               │   │   │       └── SendMoneyController.java
│   │               │   │   └── out
│   │               │   │       └── persistence
│   │               │   │           ├── AccountJpaEntity.java
│   │               │   │           ├── AccountMapper.java
│   │               │   │           ├── AccountPersistenceAdapter.java
│   │               │   │           ├── AccountRepository.java
│   │               │   │           ├── ActivityJpaEntity.java
│   │               │   │           └── ActivityRepository.java
│   │               │   ├── application
│   │               │   │   ├── port
│   │               │   │   │   ├── in
│   │               │   │   │   │   ├── GetAccountBalanceQuery.java
│   │               │   │   │   │   ├── SendMoneyCommand.java
│   │               │   │   │   │   └── SendMoneyUseCase.java
│   │               │   │   │   └── out
│   │               │   │   │       ├── AccountLock.java
│   │               │   │   │       ├── LoadAccountPort.java
│   │               │   │   │       └── UpdateAccountStatePort.java
│   │               │   │   └── service
│   │               │   │       ├── GetAccountBalanceService.java
│   │               │   │       ├── MoneyTransferProperties.java
│   │               │   │       ├── NoOpAccountLock.java
│   │               │   │       ├── SendMoneyService.java
│   │               │   │       └── ThresholdExceededException.java
│   │               │   └── domain
│   │               │       ├── Account.java
│   │               │       ├── Activity.java
│   │               │       ├── ActivityWindow.java
│   │               │       └── Money.java
│   │               ├── common
│   │               │   └── SelfValidating.java
│   │               └── config
│   │                   ├── CleanArchitectureConfiguration.java
│   │                   └── CleanArchitectureConfigurationProperties.java
│   └── resources
│       ├── application.yml
│       ├── static
│       └── templates
└── test
    └── java
        └── com
            └── architecture
                └── clean
                    ├── CleanApplicationTests.java
                    ├── account
                    │   ├── adapter
                    │   │   ├── in
                    │   │   │   └── web
                    │   │   │       └── SendMoneyControllerTest.java
                    │   │   └── out
                    │   │       └── persistence
                    │   │           └── AccountPersistenceAdapterTest.java
                    │   ├── application
                    │   │   └── service
                    │   │       └── SendMoneyServiceTest.java
                    │   └── domain
                    │       ├── AccountTest.java
                    │       └── ActivityWindowTest.java
                    ├── common
                    │   ├── AccountTestData.java
                    │   └── ActivityTestData.java
                    └── system
                        └── SendMoneySystemTest.java

Reference

source code: https://github.com/wikibook/clean-architecture