안녕하세요
우테코 프리코스 3주차 - 새로 알게된 것 본문
그래서 도메인 로직이 뭔가요???🙄🙄🙄
1. 도메인 로직 (https://velog.io/@eddy_song/domain-logic)
도메인
소프트웨어가 존재하는 이유, 목적. 현실 문제에 대한 의사결정을 하고 있는가?
ex) 은행 앱이라면 금융 및 은행 업무가 도메인!✅
도메인 <=> 공학/기술적 문제
성능을 높이기 위해, 간결하게 처리하기 위해 어떻게 할 것인가와 같은 문제
어플리케이션 서비스 로직
데이터베이스 연결, 백엔드 서버와 통신, 사용자와 인터렉션, 입출력 처리
도메인로직과 아닌 것이 구분이 잘 안된다...😅😅😅 어떻게 해야할까?
해당 코드가 하나의 역할만을 수행하지 않고 여러가지를 수행하고 있다는 뜻. => 코드를 더 잘게 분리해야한다.💯
이제 작성한 기능 목록 중에서 도메인로직을 찾아보자...
로또 미션에서 도메인 로직은?
말 그대로 로또에 관련한 것!
로또에 관련한 것은??? |
로또 구매 로또 발행 로또 당첨 결과 로또 수익률 |
그렇지 않은 것은 ??? |
에러 출력 오름차순 정렬 구매 수량 구하기 입출력 메세지 등등등... |
아래와 같이 if문, throw Error 형태가 정말 많이 반복되었는데,
if (parseInt(number) < OPTION.LOW_NUMBER || parseInt(number) > OPTION.HIGH_NUMBER) {
throw new Error(`[ERROR] 로또 번호는 1에서 45사이의 숫자여야 합니다.`);
}
const isBonusRangeValid = bonus >= 1 && bonus <= 45;
getErrorMessage({ isBonusNotDuplicated, isBonusRangeValid }) {
const { DUPLICATED, RANGE, DEFAULT } = BONUS_ERROR_MESSAGE;
if (!isBonusNotDuplicated) return DUPLICATED;
if (!isBonusRangeValid) return RANGE;
return DEFAULT;
}
줄이고 싶어도 방법을 몰라 뚫어져라 쳐다보기만 한 녀석들이 짧아진 걸 보니 눈물이 다 난다...
그치만 이 방법을 익히는 것도 쉽지는 않을 것 같다💦💦💦
'우테코 프리코스 > 3주차' 카테고리의 다른 글
피드백 노력해야할 부분 (0) | 2022.11.16 |
---|---|
느낀점 private, field, testcase, 게임option (0) | 2022.11.14 |
클래스 리팩토링 전 (0) | 2022.11.13 |