Prototype Design Pattern 방식은 보통 퍼포먼스가 중요한 상황에서 사용되는 방법이다.
보통 기존 객체를 복사하여( 상속 느낌 ) 재사용 하는 방식인데 예를들어 방대한 데이터베이스를 통해 만들어진 객체를 프로젝트의 다른 부분에서 쓰여야 할 때 이 패턴이 쓰인다. 복잡한 DB작업을 중복하여 하지 않고 해당 객체를 복사하여(상속하여 ) 사용한다.
물론, 객체를 다른 곳에서 사용하기 위해 생성자가 존재 해야 한다.
재사용 한 코드는 대충 이렇다.
var TeslaModelS = function() {
this.numWheels = 4;
this.manufacturer = 'Tesla';
this.make = 'Model S';
}
////////////////////////////// 비동기적 프로토타입 선언
TeslaModelS.prototype.go = function() {
// Rotate wheels
}
TeslaModelS.prototype.stop = function() {
// Apply brake pads
}
////////////////////////////// 동기적 프로토타입 선언
TeslaModelS.prototype = {
go: function() {
// Rotate wheels
},
stop: function() {
// Apply brake pads
}
}
프로토타입 패턴 방식도 코드를 캡슐화 시켜 public과 private 부분을 분할 시킬 수 있다.
var TeslaModelS = function() {
this.numWheels = 4;
this.manufacturer = 'Tesla';
this.make = 'Model S';
}
TeslaModelS.prototype = function() {
var go = function() {
// Rotate wheels
};
var stop = function() {
// Apply brake pads
};
return {
pressBrakePedal: stop,
pressGasPedal: go
}
}();
'Language > JavaScript' 카테고리의 다른 글
#32 Partial Applications, Currying, Compose and Pipe [33 Concepts Every JavaScript Developer Should Know ] (0) | 2019.11.20 |
---|---|
Design Pattern - Module Design (0) | 2019.11.15 |
#31 Design Patterns [33 Concepts Every JavaScript Developer Should Know ] (0) | 2019.11.05 |
JS 알고리즘 참조 사이트 (0) | 2019.11.02 |
#27 Data Structures [33 Concepts Every JavaScript Developer Should Know ] (0) | 2019.11.01 |