|
Prototype Pattern은 Class의 정의로부터 인스턴스를 생성하는 것이 아니라, 사용중인 Instance로부터 그것의 복제본을 생성하여 사용하는 것이다.
prototype pattern의 경우, 자신이 가진 member variable 값들을 새로운 instance에 복사하고, 그 인스턴스를 return하는 메소드를 구현하게 된다.(일반적으로 copy()라는 이름으로...) public class MyPrototype{ private MyType mVariable; ... public MyPrototype copy(){ MyPrototype item = new MyPrototype(); item.mVariable = this.mVariable; ... return item; } ... } Class가 아닌 Instance로부터 Instance를 생성할 때 얻을 수 있는 이점은, 초기화를 다시 할 필요가 없다는 것이다. 물론 Class의 생성자에서 Instance의 초기화를 할 수도 있겠지만, Instance를 생성하여 초기화 한 후, 이를 복제하여 사용하는 것은, 생성자에서 초기화 하는 것보다 Runtime에서의 유연성을 높여준다는 장점이 있다. 이 pattern을 사용할 때 주의할 점은, 맴버변수가 어떤 클레스에 대한 instance라면, item.mValue = this.mValue;로 할 경우 Reference가 복사되기때문에, item.mValue = new MyType(this.mValue); 와 같이, 동일한 값을 가지는 새로운 instance를 생성해 주어야 한다는 것이다. Prototype Pattern은 특정 작업을 할 때 사용되는 Method나 Rule을 Run-time에 설정하고, 규칙이 사용되는 instance를 생성할 때 적용될 수 있을 것이다.
|
by 나무귀신 카테고리
최근 등록된 덧글
ㅎㅎ 이제 사서 읽기시..
by 이라나이 at 10/31 저도 Jericho보다가 궁.. by ㅁㄴㅇ at 03/22 아... 이 책. 손에 잡.. by simsen at 03/01 컥 그냥 프로세스만 잡.. by nuka at 02/22 to 마네킹 삼성과의 마.. by 나무귀신 at 11/15 삼성이 김변호사의 패를.. by 나무귀신 at 11/15 최근 등록된 트랙백
Adderall.
by Adderall without a pr.. Diazepam onset. by 60 mg diazepam alco.. Adderall. by Adderall 7.5 image. Oracle Table Alias .. by 행복의 세잎 클로버 라이프로그
태그
|