[TIL] Clean Architecture

청학동버블티·2024년 12월 26일

Flutter 공부

목록 보기
17/18
  • Robert C. Martin (SOLID - 객체지향 설계 원칙의 창시자)라는 SW 엔지니어가 제시한 개념
  • 소프트웨어를 관심사에 따라 계층으로 분리해서 개발하는걸 제안
  • 계층으로 나누어 개발하는 아키텍쳐
    • 단, 계층으로 나눈 후 의존성 방향은 외부에서 내부로만 (안에서는 바깥계층을 모르게!)
    • Bob 삼촌 블로그 https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
    • Entities
      • 엔티티는 비즈니스의 핵심 개념을 나타내는 객체
      • 예) User, Product 클래스
    • Use Cases
      • 유스케이스는 사용자가 시스템을 어떻게 사용할지를 정의하는 애플리케이션의 특정 기능
      • 예) 회원가입, 상품등록
    • Interface Adapters
      • Use CasesFrameworks and Drivers 사이의 중간 연결 역할
      • 예) Controller, Presenter, ViewModel
    • Frameworks and Drivers
      • 시스템 핵심 업무와는 상관없는 계층
      • 예) Web, Database, UI, 외부 API 등

0개의 댓글