JS 디자인 모드 - 3. 패키지 와 정보 숨 기기
7608 단어 디자인 모드
정보 감 추 는 것 은 목적 이 고 포장 은 수단 이다.
인 터 페 이 스 는 공공 방문 이 가능 한 방법 을 기록 한 계약 을 제공 했다.그것 은 두 대상 간 에 가 질 수 있 는 관 계 를 정의 했다.인터페이스 가 변 하지 않 는 다 면 이 관계 의 쌍방 은 모두 바 꿀 수 있다.
이상 적 인 소프트웨어 시스템 은 모든 종류의 인 터 페 이 스 를 정의 해 야 한다.
대상 만 들 기 기본 모드
1. 문호 개방 형
var Publication = new Interface('Publication', ['getIsbn', 'setIsbn',...]); //
var Book = function(isbn, title, author){
this.setIsbn(isbn);
this.setTitle(title);
this.setAuthor(author);
};
Book.prototype = {
checkIsbn: function(){...},
getIsbn: function(){return this.isbn,}, //
setIsbn: function(isbn){this.isbn=isbn;}, //
...
};
인터페이스 + 포 털 오픈 + 수치 기 / 값 부여 기 는 포 털 오픈 형 생 성 대상 이 얻 을 수 있 는 가장 좋 은 효과 입 니 다.
2. 명명 규범 은 개인 구성원 을 구별 합 니 다.
var Publication = new Interface('Publication', ['getIsbn', 'setIsbn',...]); //
var Book = function(isbn, title, author){
this.setIsbn(isbn);
this.setTitle(title);
this.setAuthor(author);
};
Book.prototype = {
checkIsbn: function(){...},
getIsbn: function(){return this._isbn,}, //
setIsbn: function(isbn){this._isbn=isbn;}, //
...
};
맞 아, 변수의 이름 앞 에 를 추가 하 는 거 야.개인 변 수 를 구별 하 는 것 도 잘 알려 진 명명 규범 이다.
3. 가방 을 닫 고 개인 구성원 실현
var Book = function(newIsbn, newTitle, newAuthor){
var isbn, title, author; //
function checkIsbn(isbn){} //
this.getIsbn = function(){ // return isbn;
};
this.setIsbn = function(newIsbn){ //
if(!checkIsbn(ewIsbn)) throw new Error('Book: invalid ISBN.');
isbn = newIsbn;
}
};
Book.prototype = {
display: function(){ //
...
};
};
특권 방법 이란 공용 방법 에 개인 변 수 를 접근 할 수 있 는 방법 이 부족 하기 때문에 특권 방법 이 라 고 한다.
4. 정적 방법 과 속성 (익명 함 수 는 신의 한 획 임 을 주의 하 라)
앞에서 대상 을 만 들 때 대부분의 방법 과 속성 이 연 결 된 것 은 클래스 의 인 스 턴 스 이 고 정적 구성원 이 연 결 된 것 은 클래스 자체 입 니 다.모든 정적 구성원 은 하나 밖 에 없다.
var Book = (function(){
var numOfBooks = 0; //private static attribute
function checkIsbn(){...}; //private static method
return function(newIsbn, newTitle, newAuthor){
var isbn, title, author; //private attribute
//privileged methods
this.getIsbn = function(){
return isbn;
};
this.setIsbn = function(){
...
};
numOfBooks ++;
if(numOfBooks > 50){
throw new Error('Book: Only 50 instances of Book can be created.');
}
this.setIsbn(newIsbn);
...
};
})();
//Public static method
Book.convertToTitleCase = function(){
...
};
//Public, non-privileged methods
Book.prototype = {
display: function(){
...
}
};
가방 을 닫 고 numOfBooks 라 는 변 수 를 생각해 보면 어떻게 된 일 인지 알 수 있 습 니 다.
상수
JS 에서 우 리 는 값 을 가 져 오 는 장치 만 있 고 값 을 부여 하지 않 는 변 수 를 만들어 서 상수 에 따라 할 수 있 습 니 다.구체 적 으로 코드 는 안 드 리 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디자인 모델 의 공장 모델, 단일 모델자바 는 23 가지 디자인 모델 (프로 그래 밍 사상/프로 그래 밍 방식) 이 있 습 니 다. 공장 모드 하나의 공장 류 를 만들어 같은 인 터 페 이 스 를 실현 한 일부 종 류 를 인 스 턴 스 로 만 드 는 것...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.