View

퍼사드 패턴(Facade Pattern)

hyewon.dev 2023. 7. 16. 15:56

퍼사드는 성벽이라는 뜻으로 외부에서 내부의 로직을 알 수 없음을 의미한다.

방대한 코드에 대해서 각각의 간략한 인터페이스를 제공해서 하위 시스템의 기능에 편하게 접근할 수 있다.

또한 하나의 퍼사드가 생성되면 또 다른 시스템에서 호출할 수 있어 재사용하기 좋다.

사용자는 서브 함수들에 대해 알 필요가 없고, 간단한 실행만으로 복잡한 로직을 구현할 수 있다는 장점이 있다.

또한 외부에서 내부 로직에 의존하는 문제를 감소시킬 수 있어 유지 보수의 측면에서 유리한 측면이 있다.

 

function checkValitaion(phoneNumber) {
	if (phoneNumber.length !== 11) return false;
    
    return true;
}

function getToken() {
	return Math.floor(Math.random() * 1000000);
}

function sendTokenToPhone(phoneNunber, token) {
	
}

function tokenAPI(phoneNumber) {
	const isValid = checkValitaion(phoneNumber);
    
    if (isValid) {
    	const token = getToken();
        
        sendTokenToPhone(phoneNumber, token);
    }
}

tokenAPI('01012345678');

 

위의 예제 코드에서 tokenAPI 함수를 호출하는 클라이언트는 코드 내부의 세부적인 구현(유효성 체크, 토큰 생성, 토큰 전송)을 몰라도 된다. 클라이언트는 단순히 tokenAPI 함수를 호출함으로써 원하는 기능을 수행할 수 있다.

Share Link
reply
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
글 보관함