본문 바로가기

Backend

시 큐레이션으로 소개하는 기능과 책임

시 큐레이션으로 소개하는 기능과 책임

⛳ 목표 설정                                                     

  • 기능과 책임에 대한 이해
  • 프론트와 백엔드의 기능에 대한 관점 이해

🔖 주제                                                            

  • 기능이란 무엇인가
  • 책임은 어떻게 분리하는가
  • 개발 순서를 고민해 보자
  • 시 큐레이션:달달 코드 리뷰

📓 설명                                                            

🍀기능이란 무엇인가?

소프트웨어 설계 과정에서 이야기하는 기능이란 단순히 API를 뜻하는 것이 아닙니다.
사용자의 요구사항을 충족하는 동작으로 정의할 수 있습니다.

기능 = 사용자 입력 + 출력 (+ 상태 변화)

  • 회원가입 = (아이디,패스워드… | 입력) + (성공유무, 회원식별번호 | 출력) + (회원 데이터 생성 | 상태변화)
  • 시 조회 = (시 아이디 | 입력) + (시 존재 유무, 북마크 여부, 시 | 출력)
  • 북마크 여부 = (시 아이디 | 입력) + (존재 유무, 북마크 상태 | 출력)
  • 북마크 추가 = (시 아이디 | 입력) + (성공 유무, 북마크 아이디 | 출력) + (북마크 데이터 생성 | 상태 변화)

🍀 책임은 어떤 기준으로 분리하는 것이 좋은가?

‘책임'은 기능이 어떤 역할을 해야 하는지 구분하는 것을 의미합니다.
SOLID의 단일 책임 원칙(Single Reponsibility Principle) 을 이해해야합니다.

시 큐레이션 책임을 간단히 표현

단일 책임 원칙(Single Reponsibility Principle)

  • 한 개의 책임을 가져야 한다.

그렇다면 책임이란?

책임(responsibility) 나누기

결국 책임은?

  • 무작정 나누는 것은 복잡성이 증가한다
  • 비즈니스적으로 중요한 이벤트는 책임이 될 수 있다
  • 도메인의 상태 변경은 책임이 된다.
  • 테스트가 가능한지 여부에 따라 나누는 것이 적당한 크기의 책임을 만드는 것에 도움이 된다.