[외관 디자인 모델] 의 이야기 출처 (Facade Pattern)
이야기 1:
저 는 전문 적 인 Nikon 카 메 라 를 가지 고 있 습 니 다. 저 는 수 동 으로 조리개, 셔터 를 조절 하 는 것 을 좋아 합 니 다. 이렇게 찍 은 사진 이 야 말로 전문 적 이지 만 MM 은 이런 것 을 모 르 고 한참 동안 가 르 쳤 지만 할 줄 모 릅 니 다.다행히 카 메 라 는 Facade 디자인 모델 이 있어 서 카 메 라 를 자동 기어 로 조정 하고 목 표를 향 해 셔터 를 누 르 면 됩 니 다. 모든 것 을 카메라 가 자동 으로 조정 하면 MM 도 이 카메라 로 저 에 게 사진 을 찍 어 줄 수 있 습 니 다.(카메라 제조 자 는 일련의 조리개, 초점 거리, 셔터 등 을 자동 차단 버튼 으로 밀봉 했다. 버튼 이라는 일련의 동작 이 단숨에 이 루어 지면 이 버튼 은 대외 적 으로 사용자 에 게 제공 하 는 외관 이 고 사용 자 는 더 이상 일련의 번 거 로 운 조작 이 필요 하지 않다)
이야기 2:
사람 은 오곡 잡곡 을 먹고 음식 이 조 화 롭 지 못 하 며 기후 가 적응 되 지 않 으 면 산성 체질 인 사람 은 병 이 나 기 쉽다. 병 이 나 면 병원 에 가서 진찰 을 받 아야 한다. 다음 절 차 를 밟 아 라. 환 자 는 반드시 먼저 접수 한 다음 에 진찰 을 받 아야 한다.만약 의사 가 화학 실험 을 요구한다 면 환 자 는 반드시 먼저 가격 을 깎 은 후에 비용 을 납부 해야만 화학 실험 부서 에 가서 화학 실험 을 할 수 있다.화학 실험 후 다시 진료실 로 돌아가다.처음 진찰 을 받 으 러 간 사람 은 절 차 를 모 르 고 의사 당직 실로 달 려 가 의 사 를 찾 아 진찰 을 받 았 을 지도 모른다. 그러나 시스템 에 당신 의 번호 정보 가 없 으 면 의 사 는 컴퓨터 에서 당신 의 명세 서 를 작성 하지 못 하고 후속 으로 진행 할 수 없다.만약 이런 절차 가 있다 면 얼마나 좋 을 까: 접대원 이 대신 접수, 가격 인하, 납부, 약 채취 등 을 책임 진다.이 접대원 은 바로 외관 모델 의 구현 이다. 환 자 는 접대원 만 접촉 하고 접대원 은 각 부서 와 접촉한다.
이야기 3:
편 지 를 배달 하 는 과정 은: 먼저 편 지 를 쓰 는 내용 - > 그 다음 에 봉 투 를 쓴다 - > 편 지 를 봉투 에 넣는다 - > 그리고 우송 한다
휴대 전화 시대 의 도래 로 우체국 의 편지 발송 업 무 를 해 결 했 습 니 다. 지금 은 일이 있 습 니 다. 문 자 를 보 냅 니 다. 3 대 운영 자 시스템 에 누구 에 게 보 내 고 어떤 내용 을 보 내 는 지 알려 주면 봉투, 편지, 우체통 에 보 내 는 번 거 로 운 조작 을 하지 않 아 도 됩 니 다.
이야기 4:
보안 시스템 은 비디오, 센서, 경보기 세 부분 으로 구성 된다.보안 GG 가 시스템 을 다시 시작 할 때 반드시 비디오, 센서, 경보기 에 따라 전원 을 연결 하고 버튼 을 눌 러 야 한다.모니터링 소프트웨어 가 원 키 재 부팅 기능 을 가지 고 있다 고 가정 하면 버튼 만 누 르 면 자동 으로 순서대로 재 부팅 된다.대외 적 으로 누설 되 는 조작 과정 은 그렇게 많 지 않 아서 실수 하기 쉽 지 않다.
이런 이야기 들 은 모두 하나의 공통점 이 있 는데 그것 이 바로 상호작용 과정 에서 조작 절차 가 많 고 실수 하기 쉽다 는 것 이다.
이야기 1: 사진 을 찍 을 때 MM 은 초점 을 맞 추 지 않 고 조리개 를 누 르 고 셔터 를 눌 렀 을 수도 있 습 니 다. 그 결과 어떤 사진 을 찾 았 는 지 알 고 있 습 니 다.
이야기 2: 환 자 는 접수 하지 않 고 바로 의사 당직 실로 달 려 가 치 료 를 받 았 습 니 다. 난처 한 상황 이 발생 한 것 을 당신 은 알 고 있 습 니 다.
외관 모델 은 말하자면 하나의 종 류 를 봉 하여 사용자 의 조작 절 차 를 간소화 한 것 이다.이런 역할 은 순서대로 수행 하 는 것 이다.호출 자 는 구체 적 인 절 차 를 알 필요 가 없고 전달 할 매개 변 수 를 이 클래스 에 전달 해 야 합 니 다. 그러면 이 클래스 는 순서대로 실행 하면 됩 니 다. 높 은 확장 성과 높 은 내부 집적 저 결합 원칙 에 부합 합 니 다.예 를 들 어 어느 날 카메라 자동 차단 버튼 에 새로운 기능 이 생 겼 습 니 다. 당신 은 모 릅 니 다. 당신 은 그것 이 버튼 이라는 것 만 알 고 있 을 뿐 입 니 다.환자 가 의사 병원 에 등록 하려 면 환자 에 게 사회 보장 이 있 는 지 확인 해 야 한다. 환자 에 게 있어 서 나 는 병 을 보고 등록 하고 약 을 찾 으 며 비용 을 납부 하 는 것 은 내 가 완성 하지 않 아 도 되 고 접대원 을 직접 찾 으 면 된다.메 시 지 를 보 내 려 면 정보 내용 이 건강 한 지 확인 해 야 한다.사용자 가 알 필요 가 없다.FaceFade 는 확장 만 하면 됩 니 다.
예 (자기 오리지널 이 아 님):
/**
* / :Facade Pattern
* :
* 、 。
* : , 。
* @version 2009-6-15
* @author Winty([email protected])
*/
public class FacadeTest{
public static void main(String[] args){
//
Camera camera1,camera2;
camera1 = new Camera();
camera2 = new Camera();
Sensor sensor;
sensor = new Sensor();
Alarm alarm;
alarm = new Alarm();
//
camera1.turnOn();
camera2.turnOn();
sensor.activate();
alarm.activate();
System.out.println("");
/////////////////////////////////
//
SecurityFacade security = new SecurityFacade();
security.start();
}
}
/**
* :Facade
*/
class SecurityFacade{
private Camera camera1;
private Camera camera2;
private Sensor sensor;
private Alarm alarm;
public SecurityFacade(){
camera1 = new Camera();
camera2 = new Camera();
sensor = new Sensor();
alarm = new Alarm();
}
//
public void start(){
camera1.turnOn();
camera2.turnOn();
sensor.activate();
alarm.activate();
}
//
public void stop(){
camera1.turnOff();
camera2.turnOff();
sensor.deactivate();
alarm.deactivate();
}
}
class Camera{
public void turnOn(){
System.out.println("turn on the Camera.");
}
public void turnOff(){
System.out.println("turn off the Camera.");
}
//
public void rotate(){
System.out.println("rotate the Camera.");
}
}
class Sensor{
public void activate(){
System.out.println("activate the sensor.");
}
public void deactivate(){
System.out.println("deactivate the sensor.");
}
//
public void trigger(){
System.out.println("trigger the sensor.");
}
}
class Alarm{
public void activate(){
System.out.println("activate the alarm.");
}
public void deactivate(){
System.out.println("deactivate the alarm.");
}
//
public void ring(){
System.out.println("ring the alarm.");
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디자인 모델 의 공장 모델, 단일 모델자바 는 23 가지 디자인 모델 (프로 그래 밍 사상/프로 그래 밍 방식) 이 있 습 니 다. 공장 모드 하나의 공장 류 를 만들어 같은 인 터 페 이 스 를 실현 한 일부 종 류 를 인 스 턴 스 로 만 드 는 것...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.