Javascript 모드 인 스 턴 스 중개 자 모드

3916 단어 중개자 모드
질문:
페이지 에서 사용 자 는 많은 조작 을 할 것 입 니 다.매번 조작 을 할 때마다 우 리 는 조작 결 과 를 보 여 줘 야 합 니 다.여기 서 우 리 는 문제 가 생 겼 습 니 다.우 리 는 어떻게 다른 결 과 를 보 여 줘 야 합 니까?전시 과정 에서 우 리 는 페이지 기능 이 계속 증가 하고 수정 되 며 결과 전시 도 계속 증가 하 는 것 을 고려 해 야 한다.우 리 는 이러한 변화 에 대응 하 는 가장 좋 은 방법 으로 문 제 를 해결 해 야 한다.
해결 방법:
115 의 인터넷 개발 에서 이런 문 제 를 만 났 다.몇 번 의 사 고 를 통 해 다음 과 같은 방식 으로 이 문 제 를 해결 하기 로 결정 했다.먼저 그림 을 보 자.
 
 그림 에서 우 리 는 한 중개 가 사용자 의 정 보 를 받 고 해당 하 는 전시 주제 로 보 내 는 것 을 알 수 있다.그러면 우 리 는 전시 방식 이 바 뀌 지 않 는 문 제 를 해결 할 수 있다.어떻게 보 여 주 는 것 이 바로 주제 코드 문 제 를 보 여 주 는 것 이다.
 이 방법 은 바로 우리 가 평소에 말 하 는 중개자 모델 이다.더 많은 것 을 알 고 싶다 면 구 글 이나 baidu 에 가서 중개자 모델 을 살 펴 보 자.
코드:
자,이제 코드 를 붙 여 보 겠 습 니 다.여러분 의 더 좋 은 해결 방안 도 저 에 게 댓 글 을 달 아 주 십시오.
 
/*
*
**/
var Mediator = function(){
var self = this;
var _messageObj = {};
this.Register = function(key,obj){
//
_messageObj[key] = obj;
},
this.Send = function(key,message){
// Key
if(_messageObj[key]){
_messageObj[key].Receive(message);
}
}
}

/*
*
**/
var MessageBase = function(key,mediator){
mediator.Register(key,this); //
}

/*
* 1
**/
var MessageObj1 = function(key,mediator){
MessageBase.call(this,key,mediator); //
this.Receive = function(message){
//
alert("Object1 " + message);
}
}

/*
* 2
**/
var MessageObj2 = function(key,mediator){
MessageBase.call(this,key,mediator); //
this.Receive = function(message){
//
alert("Object2 " + message);
}
}

var med; //
var init = function(){
//
med = new Mediator();
new MessageObj1("m1",med);
new MessageObj2("m2",med);
};

window.onload = function(){
init();
}
사용 방법:
 
<a href="javascript://" onclick="med.Send('m1','Good');">test1</a>
<a href="javascript://" onclick="med.Send('m2','GoodBoy');">test2</a>
데모 코드:제목 없 는 문서/*중개**/var Mediator=function(){var self=this;var _messageObj = {}; this.Register=function(key,obj){//등록 중개messageObj[key] = obj; }, this.send=function(key,message){//클 라 이언 트 키 에 따라 클 라 이언 트 if(messageObj[key]){ _messageObj[key].Receive(message); } } } /* * 클 라 이언 트 부모 클래스**/var MessageBase=function(key,mediator){mediator.Register(key,this);/등록 중개}/**고객 1**/var MessageObj 1=function(key,mediator){MessageBase.call(this,key,mediator);//부모 클래스 this.Receive=function(message){/중개 메시지 알림 수신("Object 1"+message);}/**클 라 이언 트 1**/var MessageObj 2=function(key,mediator){MessageBase.call(this,key,mediator);//부모 클래스 this.Receive=function(message){/중개 메시지 알림 수신("Object 2"+message);}}var med; //중개인 var init=function(){/클 라 이언 트 코드 med=new Mediator();new MessageObj1("m1",med); new MessageObj2("m2",med); }; window.onload = function(){ init(); }

중개자 모드:하나의 중개 대상 으로 일련의 대상 상호작용 을 패키지 합 니 다.중개 자 는 각 대상 이 명시 적 으로 서로 인용 하지 않 아 도 되 고 결합 을 느슨 하 게 하 며 독립 적 으로 그들의 상호작용 을 바 꿀 수 있 습 니 다.

test1 test 2[Ctrl+A 선택:외부 Js 를 도입 하려 면 페이지 를 새로 고침 해 야 실행 할 수 있 습 니 다.]

좋은 웹페이지 즐겨찾기