JavaScript 디자인 모드 의 조정자 모드 인 스 턴 스 상세 설명
6547 단어 JavaScript디자인 모드조정자 모드
1.정의
조정자 모델 은 일련의 대상 이 상호작용 하 는 방식 을 포장 하여 이런 대상 들 이 서로 뚜렷 한 역할 을 하지 않도록 한다.그들 로 하여 금 흩 어 지고 우연히 일치 하 게 할 수 있다.어떤 대상 간 의 역할 이 바 뀌 었 을 때 다른 대상 간 의 역할 에 즉각 영향 을 주지 않 는 다.이러한 작용 이 서로 독립 적 으로 변화 할 수 있 도록 보장 하 다.조정자 모드 는 다 대 다 의 상호작용 을 1 대 다 의 상호작용 으로 전환시킨다.조정자 모델 은 대상 의 행위 와 협력 을 추상 화하 고 대상 을 작은 척도 의 행위 에서 다른 대상 과 의 상호작용 을 분리 하여 처리한다.
2.사용 하 는 이유
대상 간 의 상호작용 이 많 고 모든 대상 의 행위 조작 이 서로 에 게 의존 할 때 한 대상 의 행 위 를 수정 할 때 다른 대상 의 행 위 를 수정 하 는 것 을 방지 하기 위해 조정자 모델 로 결합 문 제 를 해결 할 수 있다.
이 모델 은 대상 간 의 다 대 다 관 계 를 한 쌍 의 다 관계 로 바 꾸 고 조정자 대상 은 시스템 을 그물 모양 구조 에서 조정자 중심의 성형 구조 로 바 꾸 어 시스템 의 복잡성 을 낮 추고 확장 가능 한 역할 을 한다.
조정자 설계 모드 구성 도:
조정자 모드 는 다음 과 같은 캐릭터 를 포함한다.
●추상 적 인 조정자(Mediator)역할:동료 대상 을 조정자 대상 으로 정의 하 는 인터페이스,그 중에서 주요 방법 은 하나의(또는 여러 개)사건 방법 이다.
●구체 적 인 조정자(Concrete Mediator)역할:추상 적 인 조정자 가 밝 힌 사건 방법 을 실현 했다.구체 적 인 조정 자 는 모든 구체 적 인 동료 류 를 알 고 각 동료 대상 의 상호작용 관 계 를 구체 적 으로 조율 한다.
●추상 적 인 동료 류(Colleague)역할:조정자 가 동료 대상 으로 가 는 인 터 페 이 스 를 정의 한다.동료 상 대 는 조정자 만 알 고 나머지 동료 상 대 는 모른다.
●구체 적 인 동료 류(Concrete Colleague)역할:모든 구체 적 인 동료 류 는 추상 적 인 동료 류 에서 물 려 받는다.자신의 업 무 를 실현 하고 다른 동료 와 통신 이 필요 할 때 가지 고 있 는 조정자 와 통신 하 며 조정자 가 다른 동료 와 상호작용 을 한다.
JS 구현 코드:
CD 시디롬
function CDDriver( mediator ) {
//
this.mediator = mediator;
/**
*
*/
this.getMediator = function() {
return mediator;
}
//
this.data = "";
/**
*
*/
this.getData = function() {
return this.data;
}
/**
*
*/
this.readCD = function(){
// ,
this.data = " , !";
// ,
this.getMediator().changed(this);
}
}
CPU 프로세서
function CPU( mediator ) {
//
this.mediator = mediator;
/**
*
*/
this.getMediator = function() {
return mediator;
}
//
this.videoData = "";
//
this.soundData = "";
/**
*
*/
this.getVideoData = function() {
return this.videoData;
}
/**
*
*/
this.getSoundData = function() {
return this.soundData;
}
/**
* ,
*/
this.executeData = function(data){
// , ,
var array = data.split(",");
this.videoData = array[0];
this.soundData = array[1];
// ,CPU
this.getMediator().changed(this);
}
}
그래 픽 카드
function VideoCard( mediator ) {
//
this.mediator = mediator;
/**
*
*/
this.getMediator = function() {
return mediator;
}
/**
*
*/
this.showData = function(data){
console.log(" :" + data);
}
}
사 운 드 카드
function SoundCard( mediator ){
//
this.mediator = mediator;
/**
*
*/
this.getMediator = function() {
return mediator;
}
/**
*
*/
this.soundData = function(data){
console.log(" :" + data);
}
}
구체 적 인 조정자 류
function MainBoard() {
// ――
this.cdDriver = null;
// ――CPU
this.cpu = null;
// ――
this.videoCard = null;
// ――
this.soundCard = null;
this.setCdDriver = function(cdDriver) {
this.cdDriver = cdDriver;
}
this.setCpu = function(cpu) {
this.cpu = cpu;
}
this.setVideoCard = function(videoCard) {
this.videoCard = videoCard;
}
this.setSoundCard = function(soundCard) {
this.soundCard = soundCard;
}
this.changed = function(c) {
if(c instanceof CDDriver){
//
this.opeCDDriverReadData(c);
}else if(c instanceof CPU){
this.opeCPU(c);
}
}
/**
*
*/
this.opeCDDriverReadData = function(cd){
//
var data = cd.getData();
// CPU
cpu.executeData(data);
}
/**
* CPU
*/
this.opeCPU = function(cpu){
// CPU
var videoData = cpu.getVideoData();
var soundData = cpu.getSoundData();
//
this.videoCard.showData(videoData);
this.soundCard.soundData(soundData);
}
}
클 라 이언 트
// ――
var mediator = new MainBoard();
//
var cd = new CDDriver(mediator);
var cpu = new CPU(mediator);
var vc = new VideoCard(mediator);
var sc = new SoundCard(mediator);
//
mediator.setCdDriver(cd);
mediator.setCpu(cpu);
mediator.setVideoCard(vc);
mediator.setSoundCard(sc);
// , ,
cd.readCD();
인쇄 효과조정자 모드 의 장점
●느슨 한 결합:조정자 모델 은 여러 동료 대상 간 의 상호작용 을 조정자 대상 에 밀봉 하여 동료 대상 간 의 느슨 한 결합 을 통 해 기본적으로 상호 보완 적 인 의존 을 할 수 있다.이렇게 되면 동료 대상 은 예전 처럼'한 곳 을 끌 고 온몸 을 움 직 이지 않 고 독립 적 으로 변화 하고 재 활용 할 수 있다.
●집중 제어 상호작용:여러 동료 대상 의 상호작용 을 조정자 대상 에 봉 하여 집중 적 으로 관리 하여 이러한 상호작용 행 위 를 변화 시 킬 때 조정자 대상 만 수정 하면 된다.물론 이미 만들어 진 시스템 이 라면 조정자 대상 을 확장 하고 각 동료 류 는 수정 할 필요 가 없다.
●여러 쌍 이 한 쌍 으로 변 한다.조정자 모드 를 사용 하지 않 을 때 동료 대상 간 의 관 계 는 보통 여러 쌍 으로 변 한다.조정자 대상 을 도입 한 후 조정자 대상 과 동료 대상 의 관 계 는 양 방향 한 쌍 으로 변 한다.이 는 대상 의 관 계 를 더욱 쉽게 이해 하고 실현 할 수 있다.
조정자 모드 의 단점
조정자 모드 의 잠재 적 인 단점 중 하 나 는 과도 한 집중 화 이다.만약 에 동료 대상 의 상호작용 이 매우 많 고 복잡 하 다 면 이런 복잡성 이 모두 조정자 에 게 집중 되면 조정자 대상 이 매우 복잡 해 지고 관리 와 유지 가 어렵다.
더 많은 자 바스 크 립 트 관련 내용 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.,,,,,,,,,,,,,,,
본 고 에서 말 한 것 이 여러분 의 자 바스 크 립 트 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.