Whiteship's Note

Decorator Pattern 예제(끝)

Design Pattern : 2006.10.22 21:04



무기쪽을 decorator pattern을 사용하여 다이어그램을 그려보았습니다.
저 주황색 부분 때문에 저 화면에 있는 모든 클래스들은 Human이 되며.. 그 중에서도 특히 WeaponDecorator 클래스들은 Human type의 모든 클래스들을 감쌀 수 있습니다.(멤버 변수로 Human 타입의 변수를 가지고 있기 때문이지요.) 용법은


String name = "백기선";
Integer hp = 100;
Integer mp = 50;
Human worrior = new Worrior(name, hp, mp);
worrior = new LongSword(worrior);

녹색 부분 처럼 감쌀 수가 있게 되는 것입니다.

구현은 먼저 Human쪽 부터 구현을 하고 그다음 WeaponDecorator..그다음은 뭐. 방어구도 Decorator로 하고 질병이며.. 나머지도 그런식으로 하면 될 듯합니다.

먼저 HumanTest class부터 작성합니다.


이정도 하면..Human쪽은 끝난 듯 하군요.

WeaponTest 클래스를 먼저 작성하고.. 위의 다이그램에 맞춰가며 클래스들을 구현해 갑니다.


헉... 에러 발생..


어라... getter들이 값을 안가져왔군요... 흠...

에러는 어떻게든 잡았고... 나머지.. 방어구 라든가.. 질병.. 뭐 그런것도 무기쪽 구현한 거랑 똑같기 때문에 DRY(Don't Repeat Yourself)법칙에 따라 생략하겠습니다.


top

  1. Favicon of https://whiteship.tistory.com BlogIcon 기선 2006.10.20 17:50 신고 PERM. MOD/DEL REPLY

    헤헷 에러 잡았답니다. 이건 "똑바로 하자" 게시판에 정리해서 올려야겠군요.

Write a comment.