시 큐레이션으로 소개하는 기능과 책임
⛳ 목표 설정
- 기능과 책임에 대한 이해
- 프론트와 백엔드의 기능에 대한 관점 이해
🔖 주제
- 기능이란 무엇인가
- 책임은 어떻게 분리하는가
- 개발 순서를 고민해 보자
- 시 큐레이션:달달 코드 리뷰
📓 설명
🍀기능이란 무엇인가?
소프트웨어 설계 과정에서 이야기하는 기능이란 단순히 API를 뜻하는 것이 아닙니다.
사용자의 요구사항을 충족하는 동작으로 정의할 수 있습니다.
기능 = 사용자 입력 + 출력 (+ 상태 변화)
- 회원가입 = (아이디,패스워드… | 입력) + (성공유무, 회원식별번호 | 출력) + (회원 데이터 생성 | 상태변화)
- 시 조회 = (시 아이디 | 입력) + (시 존재 유무, 북마크 여부, 시 | 출력)
- 북마크 여부 = (시 아이디 | 입력) + (존재 유무, 북마크 상태 | 출력)
- 북마크 추가 = (시 아이디 | 입력) + (성공 유무, 북마크 아이디 | 출력) + (북마크 데이터 생성 | 상태 변화)
🍀 책임은 어떤 기준으로 분리하는 것이 좋은가?
‘책임'은 기능이 어떤 역할을 해야 하는지 구분하는 것을 의미합니다.
SOLID의 단일 책임 원칙(Single Reponsibility Principle) 을 이해해야합니다.
단일 책임 원칙(Single Reponsibility Principle)
- 한 개의 책임을 가져야 한다.
그렇다면 책임이란?
책임(responsibility) 나누기
결국 책임은?
- 무작정 나누는 것은 복잡성이 증가한다
- 비즈니스적으로 중요한 이벤트는 책임이 될 수 있다
- 도메인의 상태 변경은 책임이 된다.
- 테스트가 가능한지 여부에 따라 나누는 것이 적당한 크기의 책임을 만드는 것에 도움이 된다.
'Backend' 카테고리의 다른 글
linux 파일 권한 그룹 단위 부여하기 (2) | 2024.11.22 |
---|---|
Intellij Plugins 설치 실패 및 DB Driver 설치 실패 (0) | 2024.11.21 |
나만의 서버 구성기 (0) | 2024.05.16 |
광고 시스템 이해를 위한 기초 지식 (0) | 2024.05.07 |
JWT와 세션 방식의 오해 (0) | 2024.02.11 |