퍼사드(facade) 패턴이란?
마치 레스토랑에서 주문할 때 웨이터를 통해 음식을 주문하는 것과 비슷합니다. 손님(클라이언트)은 메뉴(퍼사드)를 보고 웨이터에게 음식을 주문합니다. 주방(서브시스템)에서는 복잡한 조리 과정이 이루어지지만, 손님은 그 과정을 알 필요 없이 웨이터를 통해서만 원하는 음식을 받게 됩니다
장점
클라이언트는 퍼사드 객체랑만 소통하기 때문에 서브시스템의 변하더라고 클라이언트의 코드를 변경할 필요가 없어 의존성이 낮아진다고 할 수 있습니다
핸드폰 인증번호 보내기를 facade 패턴으로 리팩토링 하기
//퍼사드 패턴을 쓰면 early-exit 방식으로 return을 해도 facade 함수가 끝나지 않는다.
// 따라서 isValid 를 써야 한다.
// facade 패턴으로 분리하면 sendTokenToSMS 도 토큰 번호 인자를 받아야 한다.
function createTokenOfPhone(num){
// 휴대폰 자릿수 확인하기(10~11)
const isValid = checkPhone(num)
if(isValid == false) return;
// 핸드폰 토큰 6자리 만들기
const myToken = getToken()
// 핸드폰번호에 토큰 전송하기
sendTokenToSMS(num,myToken)
}
728x90
'기타 > Backend 백엔드' 카테고리의 다른 글
[05] 이메일 템플릿 생성 - 구조분해할당 (0) | 2024.02.29 |
---|---|
[04] 이메일 템플릿 생성 2 - Shorthand Property (0) | 2024.02.28 |
[04] 이메일 템플릿 생성 1 (0) | 2024.02.26 |
[02] Node.js 활용2 - early exit 방식으로 리팩토링하기 (0) | 2024.02.26 |
[01] Node.js 활용 1 - 6자리 토큰 만들기 (0) | 2024.02.21 |