더북(TheBook)

퍼사드에 있는 lightlySoilded 또는 heavilySoilded 메서드만 호출하면 빨래를 돌릴 수 있습니다. 복잡한 로직은 퍼사드 안에 감추고 메서드 2개로 기능을 표현한 것입니다.

메서드 구현체는 클라이언트와 완전히 분리되어 있어서 구현체를 바꾸어도 세탁 서비스에 접근하는 클라이언트에는 아무런 영향이 없습니다. 클라이언트는 두 메서드를 어떻게 구현했는지 알 수 없고 알 필요도 없습니다. 자신이 필요한 서비스를 받기만 하면 그만이죠.

퍼사드 패턴의 좋은 점은,

클라이언트가 하위 시스템을 알 필요가 없으므로 결합도가 낮아진다.

코드 변경 시 유지보수성(maintainability), 관리성(manageability)이 좋아진다.

로직을 다시 사용할 수 있어 기능을 재사용할 일이 많아진다.

여러 번 실행해도 호출하는 메서드는 동일하기 때문에 일관된 서비스가 보장된다.

연관된 메서드를 한 메서드로 묶어 호출하므로 비즈니스 로직이 덜 복잡해진다.

보안 및 트랜잭션 관리를 중앙화(centralization)한다.

테스트할 수 있고 목(mock)을 쓸 수 있는 패턴으로 구현한다.

 

Note ≣

이러한 구현체를 뒷장에서 나올 상태성/무상태성 구현체와 분간하기 위해 POJO 퍼사드라고 합니다.

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