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();