Javascript 모드 인 스 턴 스 관찰자 모드

정원 에 많은 소 들 이 이미 이런 글 을 썼 지만 대부분 예 는.NET 입 니 다.오늘 저 는 JS 의 사용 사례 를 들 겠 습 니 다.관심 이 있 는 친구 들 은 먼저 소 들 의 것 을 알 아 볼 수 있 습 니 다.예 를 들 어 이 회 군 형님 디자인 모델 편 에서 관찰자 의 절http://www.cnblogs.com/Terrylee/archive/2006/10/23/Observer_Pattern.html제 가 이 모델 에 대한 이 해 를 말씀 드 리 겠 습 니 다.그 사상 핵심 은 모든 관찰 대상 이 대상 데이터 의 변화 에 따라 바 뀌 고 관찰 대상 은 똑 같은 변화 행 위 를 통 해 제약 을 받 아야 한 다 는 것 이다.이 제약 은 관찰 대상 이 관찰 기 에 제공 하 는 통 일 된 인터페이스 이다.관찰 기 는 데 이 터 를 바 꾸 는 행 위 를 개발 할 것 이다.JS 는 약 한 유형의 스 크 립 트 입 니 다.많은 것 을 약속 해 야 합 니 다..NET 처럼 인터페이스의 제약 이 있 지 않 습 니 다.쓸데없는 말 은 하지 않 습 니 다.우 리 는 인 스 턴 스 를 직접 봅 니 다.관찰자 인 스 턴 스
 
var ObserverObj = { /**//* */
FirstName: "Max",
LastName: "Gan",
Id: 1
}
var ObserverManager = { /**//* */
Observers:[], /**//* */
AddObserver: function(item){/**//* */
this.Observers.push(item);
},
Change: function(obj){ /**//* */
for(var item in obj){
ObserverObj[item] = obj[item];
}//
for(var i = 0,len = this.Observers.length; i < len; i++){
var item = this.Observers[i];
item.Display(); // , Display;
}
}
}
var Header = function(){ /**//* Header*/
this.Display = function(){
alert(ObserverObj.FirstName);
}
}
var Content = function(){ /**//* Content*/
this.Display = function(){
alert(ObserverObj.LastName);
}
}
var Foot = function(){ /**//* Foot*/
this.Display = function(){
alert(ObserverObj.Id);
}
}
위의 예 Observer Manager 는 바 인 딩 방법(AddObserver)만 제공 하고 다른 것 은 바 인 딩 을 취소 하 는 것 과 같은 코드 기법 만 제공 합 니 다.생각해 보시 면 아 실 겁 니 다.사실 이 코드 들 의 최종 목적 은 Observer 데 이 터 를 바 꾸 는 것 입 니 다.다른 대상 들 도 데이터 의 변화 에 따라 상응하는 대답 을 할 것 입 니 다.OK,지금 우 리 는 그들 을 연결 합 니 다
 
/*** ***/
ObserverManager.AddObserver(new Header());
ObserverManager.AddObserver(new Content());
ObserverManager.AddObserver(new Foot());
마지막 으로 우 리 는 어떻게 사용 할 것 입 니까?(저능 한 문제...ㅋ)예 를 보 세 요.사용 방법
 
<!-- -->
<a href="javascript://" onclick="ObserverManager.Change({FirstName:' '});"> FirstName</a>
<a href="javascript://" onclick="ObserverManager.Change({LastName:' '});"> LastName</a>
<a href="javascript://" onclick="ObserverManager.Change({Id:2});"> Id</a>
저 는 모든 예 를 첨부 했 습 니 다.관심 있 는 친 구 는 다운로드 해서 보 세 요Javascript 관찰자 모드.rar한 사람 이 얼마나 멀리 갈 수 있 는 지 는 누구 와 동행 하 느 냐 에 달 려 있 습 니 다.

좋은 웹페이지 즐겨찾기