퍼사드는 '건물의 정면'이라는 뜻이다.
안에 여러가지 복잡한 로직이 있더라도 밖에서 보이는 정면에 있는 함수에서는 비교적 간단하게 흐름을 파악할 수 있다.
로직을 수행하는 함수들의 흐름을 보고, '아 정면에 있는 함수는 이런 역할을 하는 함수구나'라고 쉽게 파악할 수 있다.
const createToken = function (phoneNum) {
if (!checkPhoneNumber(phoneNum)) return;
const token = getToken();
sendTokenToSMS(phoneNum, token);
};
createToken("01012345678");
createToken 함수를 보면 전체적인 흐름을 파악할 수 있다.
checkPhoneNumber 함수: 휴대폰 번호 체크
만약 검사를 통과하지 못하면 early-exit 패턴으로 바로 함수를 종료한다.
getToken 함수: 인증번호 생성
sendTokenToSMS 함수: 휴대폰 번호와 인증번호를 받아 사용자 휴대폰 번호로 인증번호 전송
결과적으로 createToken 함수는 휴대폰 번호를 확인하고, 휴대폰 번호 검사에 통과하면 인증번호를 생성해서, 사용자에게 전달하는 함수라는 것을 파악할 수 있다.