파사드 패턴

1 개요[ | ]

facade pattern
퍼사드 패턴 [fəsάːd pǽtərn], 파사드 패턴
  • 단순한 창구 역할
  • 단순화된 인터페이스를 제공하는 디자인 패턴
  • 복잡한 아키텍처를 숨기고 간략한 인터페이스로 접근·사용하도록 추상화하는 디자인 패턴
  • 클래스 라이브러리 같은 어떤 소프트웨어의 다른 커다란 코드 부분에 대한 간략화된 인터페이스를 제공하는 객체
  • 서브시스템과 클라이언트 사이를 최대한 분리(de-couple)한다.

2 예제[ | ]

// 복잡한 부분
class CPU {
        public void freeze() { ... }
        public void jump(long position) { ... }
        public void execute() { ... }
}
 
class Memory {
        public void load(long position, byte[] data) {
                ...
        }
}
 
class HardDrive {
        public byte[] read(long lba, int size) {
                ...
        }
}
 
// 퍼사드
class Computer {
        public void startComputer() {
                cpu.freeze();
                memory.load(BOOT_ADDRESS, hardDrive.read(BOOT_SECTOR, SECTOR_SIZE));
                cpu.jump(BOOT_ADDRESS);
                cpu.execute();
        }
}
 
// 클라이언트
class Main {
        public static void main(String[] args) throws ParseException {
                Computer facade = /* grab a facade instance */;
                facade.startComputer();
        }
}

3 같이 보기[ | ]

4 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}