일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 지네릭스
- 딥러닝
- 머신러닝
- 백준
- 데이터베이스
- 깃허브 토큰 인증
- 리액트 네이티브 프로젝트 생성
- React Native
- 네트워크
- 모두의네트워크
- SQL
- 깃 터미널 연동
- 문자열
- 정리
- 자바
- HTTP
- 리액트 네이티브
- 백준 4358번
- 깃허브 로그인
- 백준 4358 자바
- 백준 5525번
- 데베
- 모두를 위한 딥러닝
- 스터디
- 리액트 네이티브 시작하기
- 모두의 네트워크
- 모두를위한딥러닝
- 깃 연동
- 팀플회고
- 백준 4949번
- Today
- Total
목록책을 읽자/만들면서 배우는 클린 아키텍처 (3)
솜이의 데브로그
Reference : 만들면서 배우는 클린 아키텍처 계층으로 구성하기 buckapl |--- domain | |----- Account | |----- Activity | |----- AccountRepository | |----- AccountService |--- persistence | |----- AccountRepositoryImpl |--- web | |----- AccountController 웹 계층, 도메인 계층, 영속성 계층 각각에 대해 전용 패키지인 web, domain, persistence를 뒀다. 의존성 역전 원칙을 적용해 의존성이 domain 패키지에 있는 도메인 코드만을 향하도록 한다. domain 패키지에 AccountRepository 인터페이스를 추가 persistenc..
Reference : 만들면서 배우는 클린 아키텍처 단일 책임 원칙 컴포넌트를 변경하는 이유는 오직 하나 뿐이어야 한다. 컴포넌트를 변경할 이유가 오로지 한 가지라면 컴포넌트는 딱 한 가지 일만 하게 된다. 아키텍처에서는, 컴포넌트를 변경할 이유가 한 가지라면 우리가 어떤 다른 이유로 소프트웨어를 변경하더라도 이 컴포넌트에 대해서는 전혀 신경 쓸 필요가 없다. 변경할 이유라는 것은 컴포넌트 간의 의존성을 통해 쉽게 전파된다. 많은 코드는 단일 책임 원칙을 위반하기 때문에 시간이 갈수록 변경하기가 더 어려워지고, 그로 인해 변경 비용도 증가한다. 의존성 역전 원칙 계층형 아키텍처에서 계층 간 의존성은 항상 다음 계층인 아래 방향을 가리킨다. 따라서 단일 책임 원칙을 고수준에서 적용할 때 상위 계층들이 하위..
Reference : 만들면서 배우는 클린 아키텍처 계층형 아키텍처는 데이터베이스 주도 설계를 유도한다 위와 같은 계층형 아키텍처에서 웹 계층 → 도메인계층 → 영속성 계층 에 의존하기 때문에 결국 데이터베이스에 의존하게 된다. 따라 모든 것이 영속성 계층을 토대로 만들어진다. 전통적인 계층형 아키텍처에서는 의존성의 방향에 따라 자연스럽게 데이터베이스의 구조를 먼저 생각하고, 이를 토대로 도메인 로직을 구현한다. 하지만 비즈니스 관점에서는 무엇보다도 도메인 로직을 먼저 만들어야 한다. ⇒ 도메인 로직이 맞다는 것을 확인한 후, 이를 기반으로 영속성 계층과 웹 계층을 만들어야 한다. ORM 사용 시, ORM에 의해 관리되는 엔티티들은 일반적으로 영속성 계층에 둔다. 도메인 계층에서는 이러한 엔티티에 접근,..