안녕하세요

우테코 프리코스 3주차 - 새로 알게된 것 본문

우테코 프리코스/3주차

우테코 프리코스 3주차 - 새로 알게된 것

sakuraop 2022. 11. 11. 01:39

그래서 도메인 로직이 뭔가요???🙄🙄🙄

 

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사이의 숫자여야 합니다.`);
            }
 
다른 분들은 어떻게 처리하는지 궁금해서 살펴보니 if 문을 변수에 저장해서 사용했다.
[링크]
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