JS 창설 형 설계 모델 - 공장 모델
// type
var BasketBall = function(){
this.into = "wtf";
}
BasketBall.prototype = {
getMember : function(){
console.log('123')
},
getBallSize : function(){
console.log('big');
},
getBasket : function(){}
}
var FootBall = function(){
this.into = "love";
}
FootBall.prototype = {
getMember : function(){
console.log('asf')
},
getBallSize : function(){
console.log('small');
},
getFootBall : function(){}
}
var SportsFactory = function(name){
switch(name){
case 'NBA':
return new BasketBall();
case 'wordCup':
return new FootBall();
}
}
// ,
function createSprots(name,context){
var o = new Object();
o.into = context;
o.getMember = function(){};
o.getBallSize = function(){};
if(name == 'basket'){
o.getBasket = function(){}
}
if(name == 'football'){
o.getFootBall = function(){}
}
return o;
}
/**
* : , ,
* , ;
*/
2. 공장 방법 모델 (제품 류 에 대한 추상 적 인 추상 을 통 해 그 창설 업 무 는 주로 여러 종류의 제품 을 창설 하 는 실례 를 책임 진다)
//
var Factory = function(type,content){
if(this instanceof Factory){
var s = new this[type](content)
return s;
}else{
return new Factory(type,content);
}
}
//
Factory.prototype = {
Java : function(){
},
Javascript : function(){
},
...
};
//
3. 추상 적 인 공장 모델 (제품 클래스 의 생 성 에 사용)
var Person = function(){};
Person.prototype = {
getName : function(){
return new Error(' ');//
}
}
// (new Person()).getName() //
// , , ,
//
var VehicleFactory = function(subType,superType){
//
if(typeof VehicleFactory [superType] === 'function'){
//
function F(){};
F.prototype = new VehicleFactory [superType](); //
subType.constructor = subType; // constructor
subType.prototype = new F(); // new F() F F ;
}else{
return new Error(' .')
}
}
//Person
VehicleFactory .Person = function(){
this.type = 'person'
}
VehicleFactory .Person.prototype = {
getName: function(){}
}
//Animal
VehicleFactory .Animal = function(){
this.type = 'animal '
}
VehicleFactory .Animal .prototype = {
getName: function(){}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.