비즈니스 로직이란
- 소프트웨어가 존재하는 이유, 목적
- 소프트웨어가 풀고자 하는 현실 세상의 문제
비즈니스 로직 분리하는 이유
- 비즈니스 로직을 분리하는 이유는 관심사의 분리를 위해서이다.
- 도메인 로직과 어플리케이션 서비스 로직은 어떤 앱이든 역할이 구분되고, 변경의 이유도 다르기 때문이다.
- 도메인 로직과 아닌 것을 잘 나누고 결합도를 낮추면, 개발자가 로직을 이해하기 쉬워진다.
프로젝트 적용
- 회원가입 페이지의 경우 UI 로직과 회원가입 요청(비즈니스) 로직이 같이 작성되어 있었습니다.
- 이 두개의 로직을 분리하여 관심사를 나누는 것이 개발자 경험에 좋다고 판단하였습니다.
- 코드 예시
const fetchSignUp = (userData: UserData, navigate: (to: string) => void) => {
const formData = new FormData();
const blob = new Blob([JSON.stringify(userData)]);
formData.append('post', blob);
api
.post('/api/users', formData)
.then((res) => {
window.alert(res.data.message);
navigate('/signin');
})
.catch((err) => {
if (err.response.status === 409)
window.alert('이미 가입한 메일이 존재합니다.');
});
};
export default fetchSignUp;
};
- 이런 식으로 회원가입 요청 로직을 분리하여 회원가입 페이지에서 fetchSignUp 함수를 불러와 UI 로직과 비즈니스 로직을 분리하였습니다.
글 재미있게 봤습니다.