더북(TheBook)

3.2 일반 자바 코드로 퍼사드 패턴을 구현

 

퍼사드 패턴 구현은 그리 복잡하지 않고 어떤 틀 또는 규칙이 따로 있는 것도 아닙니다. 복잡한 실행 흐름에 쉽게 접근할 수 있게 만든 메서드는 이미 퍼사드 패턴을 구현한 셈입니다.

자, 앞서 예로 든 세탁기를 구현해볼까요(코드 3-1)? 두 가지 세탁 모드(찌든 때, 조물조물)는 메서드 2개로 나타낼 겁니다. 잡다한 일(물 온도 설정, 탈수 시간 조절, 표백제 투입 여부 결정 등)은 모두 퍼사드가 내부적으로 메서드를 호출해 처리합니다.

코드 3-1 세탁기 구현 예제

public class WashingMachine {
 
public void heavilySoiled() {
    setWaterTemperature(100);
    setWashCycleDuration(90);
    setSpinCycleDuration(10);
    addDetergent();
    addBleach();
    addFabricSoftener();
    heatWater();
    startWash();
}
 
public void lightlySoiled() {
    setWaterTemperature(40);
    setWashCycleDuration(20);
    setSpinCycleDuration(10);
    addDetergent();
    heatWater();
    startWash();
}
}
 
// 퍼사드는 이렇게 사용합니다.
new WashingMachine().lightlySoiled();

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.