javascript 디자인 모델 C 추상 공장 모델 원리 와 응용 사례 분석
소개:공장 모델 을 바탕 으로 계속 업그레이드 합 니 다.공장 모델 에 여러 공장 류 의 문제 가 존재 하 는 것 을 해결 하 다.주요 사상 은 관련 제품 을 하나의 제품 족 으로 구성 하여 같은 공장 에서 통일 적 으로 생산 하 는 것 이다.
정의:추상 적 인 공장 모델 은 일련의 관련 되 거나 서로 의존 하 는 인 터 페 이 스 를 제공 하고 그들의 구체 적 인 종 류 를 지정 할 필요 가 없다.추상 적 인 공장 모델 은 kit 모델 이 라 고도 부 르 는데 이것 은 대상 생 성 모델 이다.
장면:위의 Dialog 류 입 니 다.계속 뒤로 발전 하면 다양한 팝 업 창 이 있 습 니 다.만약 에 팝 업 창 이 추가 되면 notice 와 toast 를 포함 합 니 다.이런 상황 에서 우 리 는 공장 류 를 따로 추가 할 필요 가 없다.우 리 는 이러한 같은 특징 을 가 진 탄창 에 대해 집합 을 진행 해 야 한다.
예시:
var Dialog = function(){
this.show = function(){
console.log(this.name + ' is show -> ' + this.element);
}
};
Dialog.createNotice = function(){
var _dialog = new Dialog();
_dialog.element = '<div>notice</div>';
_dialog.name = 'notice';
return _dialog;
};
Dialog.createToast = function(){
var _dialog = new Dialog();
_dialog.element = '<div>toast</div>';
_dialog.name = 'toast';
return _dialog;
};
Dialog.createWarnin = function(){
var _dialog = new Dialog();
_dialog.element = '<div>warnin</div>';
_dialog.name = 'warnin';
return _dialog;
};
var Factory = {};
Factory.ConvergeFactory = function(){
return {
getNotice: function(){
return Dialog.createNotice();
},
getToast: function(){
return Dialog.createToast();
},
getWarnin: function(){
return Dialog.createWarnin();
}
}
}
var converge = Factory.ConvergeFactory();
var notice = converge.getNotice();
var toast = converge.getToast();
var warnin = converge.getWarnin();
notice.show(); //notice is show -> <div>notice</div>
toast.show(); //toast is show -> <div>toast</div>
warnin.show(); //warnin is show -> <div> warnin </div>
추상 적 인 공장 모델 은 주로 Factory 가 너무 많은 문 제 를 해결 하고 조합 을 통 해 새로운 제품 족 을 만들어 내 는 것 이다.우리 가 있 는 이곳 의 예 는 약간 억 지 스 럽 습 니 다.장면 을 바 꾸 세 요.만약 에 우리 가 버튼 이 많 으 면 입력 상자 와 같은 구성 요 소 는 단독 공장 을 통 해 인 스 턴 스 를 얻 어야 합 니 다.
추상 적 인 공장 모델 은 특정한 부품 을 집합 하여 새로운 공장 을 만 드 는 것 이다.
그러나 이런 결과 가 좋 은 것 인지 나 쁜 것 인지,새로운 제품 족 을 늘 릴 때 스위치 원칙 을 지 켰 지만,새로운 제품 족 구 조 를 수정 할 때 업무 부터 공장 에 이 르 기 까지 하나하나 수정 해 야 한 다 는 것 을 알 게 되 고 스위치 원칙 에 도 위배 된다.
그래서 추상 적 인 공장 모델 의 사용 장면 은 특히 엄밀 해 야 한다.디자인 초기 에 전면적으로 고려 하고 제품 족 구 조 를 쉽게 수정 하지 말 아야 한다.
추상 적 인 공장 모델 총화:
장점:
*제품 족 이 사 용 된 후 구체 적 인 유형의 실현 을 격 리
*신규 제품 군 은 기 존 구 조 를 수정 하지 않 아 도 되 며,개폐기 원칙 에 부합
단점:
*기 존 제품 족 구 조 를 수정 할 때 는 공장 및 사용 하 는 모든 업무 코드 를 수정 해 야 합 니 다.
앞에서 우 리 는 세 가지 공장 모델 을 소 개 했 는데 전단 에서 사용 하 는 과정 에서 융통성 있 게 응용 하고 그의 사상 을 사용 해 야 한다.
공장 모델 의 핵심 은 서로 다른 매개 변 수 를 통 해 서로 다른 제품 을 생 성 하 는 것 이다.추상 적 인 공장 과 공장 은 실제 장면 에서 최 적 화 된 것 이다.
코드 에 대해 끊임없이 생각 하고 최적화 해 야 한 다 는 것 을 일 깨 워 준다.
관심 있 는 친 구 는 온라인 HTML/CSS/JavaScript 코드 실행 도 구 를 사용 할 수 있 습 니 다.http://tools.jb51.net/code/HtmlJsRun상기 코드 실행 효 과 를 테스트 할 수 있 습 니 다.
자 바스 크 립 트 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.,,,,,javascript 대상 입문 강좌,JavaScript 오류 및 디 버 깅 기술 요약,JavaScript 데이터 구조 와 알고리즘 기술 총화과JavaScript 스 트 리밍 알고리즘 및 기술 총화.
본 고 에서 말 한 것 이 여러분 의 자 바스 크 립 트 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Thymeleaf 의 일반 양식 제출 과 AJAX 제출텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.