목적
객체 생성에 관련된 패턴입니다.
생성할 객체들의 타입이 프로토타입인 인스턴스로부터 결정되도록 하며, 인스턴스는 새 객체를 만들기 위해 자신을 복제(clone)하게 된다
구조
코드 샘플
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| function CustomerPrototype(proto) { this.proto = proto; this.clone = function () { var customer = new Customer(); customer.first = proto.first; customer.last = proto.last; customer.status = proto.status; return customer; }; } function Customer(first, last, status) { this.first = first; this.last = last; this.status = status; this.say = function () { alert("name: " + this.first + " " + this.last + ", status: " + this.status); }; } function run() { var proto = new Customer("n/a", "n/a", "pending"); var prototype = new CustomerPrototype(proto); var customer = prototype.clone(); customer.say(); }
|