반응형
클린 아키텍처(Clean Architecture)란
시스템의 각 요소들을 명확하게 분리하면서도, 유연하게 연결될 수 있도록 디자인 하는 SW 설계 구조 이다.
아래 그림을 보면 명확히 구분이 되어있다.
각각의 구조와 설명은 아래와 같다.
- Entity 애플리케이션의 비즈니스 로직을 담당하는 엔티티 애플리케이션의 핵심 비즈니스 규칙과 데이터를 포함하며, 다른 레이어에 의존하지 않음 - Use Case 애플리케이션의 비즈니스 규칙을 실행하는 유스케이스(Use Case)가 위치하는 곳 엔티티의 데이터를 이용하여 비즈니스 규칙을 구현하고, Presenter 레이어로 결과를 반환 - Interface Adapters 외부 요청(사용자 인터페이스, 데이터베이스 등)을 Use Case와 Entity가 이해할 수 있는 형태로 변환하는 책임을 갖고 있음 컨트롤러, 뷰, 프레젠터 등이 이에 해당 - Frameworks & Drivers 인터페이스 어댑터를 외부 환경과 연결하는 역할 웹 프레임워크, 데이터베이스, UI 프레임워크 등이 이에 해당 |
각각의 역할이 있고 이 포스팅을 읽기 전에 SOLID 에 대해서 먼저 알면 좀더 이해가 빠를것이다.
(참고 포스팅 참고)
장단점
- 장점
- 의존성 관리
- 테스트 용이성
- 확장성
- 유지보수
- 배포 가능성
- 단점
- 복잡성
- 성능저하 가능성 우려
- 개발 이해 어려움
- 초기 비용
참고 포스팅
https://thenicesj.tistory.com/315
반응형
'IT > Knowledge' 카테고리의 다른 글
CloudType 사용하기 (9) | 2024.09.24 |
---|---|
CloudType (9) | 2024.09.23 |
브레인스토밍(Brainstorming) (13) | 2024.09.19 |
Cucumber 테스트(feat. Gherkin) (18) | 2024.09.18 |
Regression Test (리그레션 테스트) 란? (12) | 2024.09.17 |
댓글