본문 바로가기
IT/Knowledge

Clean Architecture 란? (클린아키텍쳐)

by 성준하이 2024. 9. 20.
반응형

클린 아키텍처(Clean Architecture)란

시스템의 각 요소들을 명확하게 분리하면서도, 유연하게 연결될 수 있도록 디자인 하는 SW 설계 구조 이다.

 

아래 그림을 보면 명확히 구분이 되어있다.

 

각각의 구조와 설명은 아래와 같다.

- Entity
   애플리케이션의 비즈니스 로직을 담당하는 엔티티
   애플리케이션의 핵심 비즈니스 규칙과 데이터를 포함하며, 다른 레이어에 의존하지 않음
- Use Case
   애플리케이션의 비즈니스 규칙을 실행하는 유스케이스(Use Case)가 위치하는 곳
   엔티티의 데이터를 이용하여 비즈니스 규칙을 구현하고, Presenter 레이어로 결과를 반환
- Interface Adapters
   외부 요청(사용자 인터페이스, 데이터베이스 등)을 Use Case와 Entity가 이해할 수 있는 형태로 변환하는 책임을 갖고 있음
   컨트롤러, 뷰, 프레젠터 등이 이에 해당
- Frameworks & Drivers
   인터페이스 어댑터를 외부 환경과 연결하는 역할
   웹 프레임워크, 데이터베이스, UI 프레임워크 등이 이에 해당

 

각각의 역할이 있고 이 포스팅을 읽기 전에 SOLID 에 대해서 먼저 알면 좀더 이해가 빠를것이다.

(참고 포스팅 참고)

 

장단점
  • 장점
    • 의존성 관리
    • 테스트 용이성
    • 확장성
    • 유지보수
    • 배포 가능성
  • 단점
    • 복잡성
    • 성능저하 가능성 우려
    • 개발 이해 어려움
    • 초기 비용

 


참고 포스팅

https://thenicesj.tistory.com/315

 

객체 지향의 법칙 SOLID

객체 지향 언어에서는 설계할때는 흔히 SOLID 라고 부르는 5가지 설계원칙이 존재한다. 각각 하나씩 살펴보면 SRP (Single Responsibility) 단일 책임 원칙 클래스는 단 한개의 책임을 가져야 함 클래스를

thenicesj.tistory.com

 

반응형

'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

댓글