디자인 모드 노트 의 10 (외관 모드)
9398 단어 디자인 모드
외관 모델 은 서브 시스템 의 일련의 관련 인터페이스 에 통 합 된 인 터 페 이 스 를 제공 하여 고객 류 가 이러한 인터페이스 에 대한 호출 원 가 를 줄 이 는 것 이다.
최근 실험실 사장 은 여비 서가 과로 로 입원 해 답답 해 했다.예전 에 비서 가 할 수 있 었 던 일 은 사장 이 스스로 해 야 한다.
이것 도 우리 실험실 이 최근 에 무료 하 게 열 리 지 않 는 이유 이다.
class MeetingRoom {
public boolean booking() {
return true;
}
public void prepare() {
}
public void start() {
}
}
class Message {
public void notificate (String name) {
}
}
class Printer {
public void print(String content, int copies) {
}
}
class Devices {
public void pc () {
}
public void projector () {
}
}
public class Facade {
public static void main(String[] args) {
MeetingRoom mr = new MeetingRoom();
Devices d = new Devices();
Printer p = new Printer();
Message m = new Message();
//
mr.booking();
//
mr.prepare();
//
p.print(" ", 20);
//
d.pc();
//
d.projector();
//
m.notificate(" ");
m.notificate(" ");
m.notificate(" ");
m.notificate(" ");
mr.start();//
}
}
비서 가 없 기 때문에 사장 은 이렇게 많은 절 차 를 밟 아야 회 의 를 열 수 있다. 이것 은 어떤 사장 도 할 수 없 는 일이 다. 사장 은 이렇게 많은 다른 대상 에 정력 을 기울 이지 않 기 때문에 사장 은 여비 서가 체면 을 세 워 야 한다.
class NvMiShu {
private static NvMiShu miShu;
private static final Object o = new Object();
private NvMiShu() {
}
public static NvMiShu getInstance() {
if (miShu == null) {
synchronized (o) {
if (miShu == null) {
miShu = new NvMiShu();
}
}
}
return miShu;
}
public void meeting() {
//
MeetingRoom mr = new MeetingRoom();
Devices d = new Devices();
Printer p = new Printer();
Message m = new Message();
//
mr.booking();
//
mr.prepare();
//
p.print(" ", 20);
//
d.pc();
//
d.projector();
//
m.notificate(" ");
m.notificate(" ");
m.notificate(" ");
m.notificate(" ");
mr.start();//
}
}
public class Facade {
public static void main(String[] args) {
// ,
NvMiShu.getInstance().meeting();
}
}
여비 서가 생 긴 후에 사장 들 은 그렇게 많은 다른 대상 과 접촉 할 필요 가 없다. 그 는 여비 서 라 는 대상 에 만 신경 을 써 야 한다.
장식 자 모드, 어댑터 모드, 외관 모드 의 차이
상기 세 가지 모델 은 자주 헷 갈 릴 때 가 있 는데 보통 다음 과 같다.
장식 자 모드 는 기 존 대상 의 인 터 페 이 스 를 바 꾸 지 않 고 새로운 인 터 페 이 스 를 확장 하여 클 라 이언 트 가 사용 하기에 편리 하도록 하 는 것 이다. 예 를 들 어 InputStream 과 DataInputStream 사이 가 장식 자 모드 이다. DataInputStream 은 InputStream 의 read 인터페이스 도 있 고 readBoolean 등 읽 기 문 자 를 확장 하 는 방법 도 있다.
InputStream is = null;
DataInputStream dis = new DataInputStream(is);
dis.readBoolean();
어댑터 모드 는 기 존 대상 의 인 터 페 이 스 를 바 꾸 어 새로운 수요, 즉 새로운 클 라 이언 트 클래스 의 호출 에 적응 시 키 는 것 이다. 예 를 들 어 InputStream 과 Reader 사이 가 어댑터 모드 이다.
외관 모드 는 인터페이스의 호출 을 간소화 하여 여러 개의 관련 인 터 페 이 스 를 통 일 된 인터페이스 로 호출 하 는 것 이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디자인 모델 의 공장 모델, 단일 모델자바 는 23 가지 디자인 모델 (프로 그래 밍 사상/프로 그래 밍 방식) 이 있 습 니 다. 공장 모드 하나의 공장 류 를 만들어 같은 인 터 페 이 스 를 실현 한 일부 종 류 를 인 스 턴 스 로 만 드 는 것...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.