지금 안드로이드 모바일 아키텍처 (클린 아키텍처) 강의를 듣고 있는데,
퍼사드 패턴이 소개되는데 설명이 간략해 혼자 정리해 보려고 함
<퍼사드(Facade) 패턴이 필요한 케이스>
1. 한 임의의 클래스에 서로 매우 다른 액터를 책임지는 메소드 세 개가 존재한다고 해보자
하나의 목적을 달성하기 위해 이 세 개의 메소드는 연달아 실행되어야 한다.
2. 이런 케이스는 SOLID 원칙의 단일 책임 원칙을 위반하므로 메소드를 세 개의 클래스로 분리해야 한다
* 단일 책임 원칙 : 하나의 모듈은 오직 하나의 액터에 대해서만 책임져야 함
3. 하지만 이렇게 되면 사용자 입장에서의 사용성이 떨어지므로, (사용할 때마다 클래스의 객체를 생성해야 함)
=> 서브 클래스들을 사이의 모듈들을 사용자 입장에서 간편한 통합 인터페이스를 제공하는
퍼사드 패턴을 응용하면 쉬워진다
<퍼사드(Facade) 패턴 구현>
1. 인터페이스 interfaceFacade 를 생성한다
2. 인터페이스 interfaceFacade 안에 메소드 makeResult를 생성한다.
3. makeResult 메소드에 하나의 목적을 달성하기 위해 필요한 객체 생성, 메소드 호출을 모두 작성한다.
4. 사용자는 외부에서 인터페이스 interfaceFacade의 makeResult 메소드만 호출하면 동작을 마칠 수 있다.
또한 동작 수정이 필요한 경우, makeResult 메소드 내부만 수정하면 되므로 유지보수가 간편하다.
'아키텍처와 모델' 카테고리의 다른 글
[아키텍처] 프로젝트의 MSA화 1-2주차 (0) | 2023.01.26 |
---|