Flask - API 아키텍쳐

문성호·2020년 10월 25일
0

코드구조

아키텍처 고려사항

  • 확장성(Extensibility)

  • 재사용성(Reusability)

  • 보수 유지 가능성(Maintability)

  • 가독성(Readability)

  • 테스트 가능성(Testability)

레이어드 아키텍쳐

  • Presentation Layer
  • Business Layer
  • Persistence Layer

레이어드 아키텍쳐 특징

  • Presentation Layer는 Business Layer에 의존하고,
    Business Layer는 Persistence Layer에 이존하게 된다.

  • 반대로 Business Layer는 Presentation Layer에 대해 독립적이고,
    Persistence Layer는 business나 Presentation Layer에 독립적이다.

  • "Separation of Concerns" : 각 레이어의 역할이 명확하다.
    presentation layer는 business layer를 호출하여 사용.
    business layer는 persistence layer를 호출하여 사용.

Presentation Layer(View)

해당 시스템을 사용하는 사용자 혹은 클라이언트 시스템과 직접적으로 연결되는 부분

웹사이트에서는 UI, 백엔드API에서는 엔드포인트에 해당함.

HTTP 요청(request)들을 읽어 들이는 로직을 구현.

Business Layer(Service)

비지니스 로직, 즉 정책을 구현하는 부분.

예를들어 Minitter의 경우, tweet 내용은 300자 이상 넘으면 안되는 로직을 구현.

Persistence Layer(Model)

데이터베이스와 관련된 로직을 구현.

Business Layer에서 필요한 데이터 생성, 수정, 읽기 등을 처리.

실제 데이터베이스에서 데이터를 저장, 수정, 읽어들이기 하는 역할 수행.

profile
오늘을 모아 내일을

0개의 댓글