Whiteship's Note


Tiles와 SiteMesh 차이

Good Tools : 2009.05.01 14:42


참조: http://tiles.apache.org/framework/tutorial/pattern.html

이 두 가지 툴이 비슷한 일을 하지만, 그 일을 하는 방식은 다른 것 같습니다. Tiles는 Composite View 패턴을 사용하고 SiteMesh는 Decorator 패턴을 사용하는 차이가 있더군요.

두 패턴을 비교한 표가 있길래 옮겨 봅니다.

Aspect Composite View Decorator
Reusability The different parts of the
page (template and pieces) can
be reused across the whole
application.
Each decorator can be
reused, but the decoration
itself can be applied to
one page at a time.
Ease of
configuration
Each page must be defined
explicitly.
The decorator can be
applied even to the entire
application.
Runtime
configuration
The pages can be configured
and organized at runtime
Since one page is decorated
at a time, this feature is
not present.
Performances Low overhead for composition. The page to be decorated
has to be parsed.

일단, 재사용성에 있어서는 매번 데코레이터를 적용하여 페이지를 만들어 내는 데코레이터 패턴 보다는 변하는 부분만 바뀌고 나머지는 재사용하는 컴포짓 뷰 패턴에 한표를 주고 싶습니다.

두 번째, 설정에 있어서는 컴포짓 뷰 패턴이 모든 페이지에 (뷰 구성요소들을)명시적으로 정의해줘야 하는 불편함이 있기 때문에 데코레이터에게 한표 주겠습니다.

세 번째. 실행시에 설정을 변경할 수 있는 것 때문에 컴포짓 뷰에 한표 주겠스니다.

마지막으로 성능에 있어서도 컴포짓 뷰에 한표 주겠습니다.


top


Tiles VS SiteMesh

Good Tools : 2009.05.01 14:25


너무 차이가 많이 나네요. 3단 구조(위, 본문, 아래)로 나누려는데, 비슷한 일을 해주는 두 개 툴중에 뭘 쓸까 고민하다가 일단 트랜드를 확인해 봤습니다. 무작정 트랜드를 따르려는 건 아니고, 둘 중에 어떤게 왜 인기가 많은지 궁금하자나요.ㅎㅎ



Tiles가 엄청나게 인기가 좋군요. 작년에 무슨일이 있었길래 인기가 급상승 중이던 SiteMesh가 급 하락 하고, Tiles 인기가 확 올라갔는지 궁금해지네요. 그보단 일단 왜 Tiles가 인기가 좋은 건지 Tiles를 좀 봐야겠습니다~
top


SiteMesh

Good Tools : 2007.10.08 19:14


뷰에 레이아웃을 적용하여 관리할 수 있는 프레임웤입니다.
데코레이터 형태로 특정 요청에 대한 결과(뷰)를 레이아웃으로 감싸서 보여주게 됩니다.

사용자 삽입 이미지

이것 보다 더 자세하게 내부 구조를 그려놓은 그림이 있습니다.
사용자 삽입 이미지
캬.. 그림이 예술이네요. 완전 잘 그리네요.-_-;; 부럽..

1. 요청이 오면 요청을 처리합니다.
2. 파란 영역(Sitemesh)으로 들어가기 직전에 해당 URL이 데코레이터에 정의되어 있는지 확인합니다.
3. 데코레이터에서 해당 URL에 데코레이팅 하라고 정의해 뒀다면 이제부터 Sitemesh가 작업을 합니다.
4. 이미 해당 URL에 필터가 적용이 됐는지 확인합니다.
5. 안 했으면, 이제 할 것이기 떄문에 했다고 설정합니다.
6. Page 객체를 생성합니다.
7. 컨테이너로 부터 해당 URL에 적용할 데코레이터를 요청합니다.
8. 데코레이터를 찾았는지 확인합니다.
9. 데코레이터를 Page 객체에 적용합니다.
10. 이제 해당 URL에 적용된 다른 필터들을 실행합니다.
11. 이제 응답을 보내주고 서버랑 바이바이 합니다.

사이트매쉬를 사용하려면 등록해야 하는 것.
1. web.xml에 sitemesh 필터 등록하기.
2. sitemesh.xml 작성하기.(파서 등록, 데코레이터 맵퍼 등록)
3. decorators.xml 작성하기.(데코레이터 등록:이름, url 패턴, 파일 위치)
4. 데코레이터 작성하기.(일반 적인 뷰 파일이지만, 이 녀석이 실제 레이아웃이 될 녀석입니다.)

참조
SiteMesh 를 활용한 동적인 화면 구성 (Updated)
SiteMesh 홈페이지

'Good Tools' 카테고리의 다른 글

Ctrl + Shift + E  (2) 2007.10.18
Commonclipse  (0) 2007.10.15
Ant 완전 기초  (0) 2007.10.14
Ant 라이브러리 관리  (0) 2007.10.11
톰캣 클라이언트 디플로이어 사용하기  (0) 2007.10.09
SiteMesh  (0) 2007.10.08
Buildix  (2) 2007.10.04
StarUML 사용기 1  (4) 2007.09.19
Eclipse의 Task List에서 이슈 등록하기  (0) 2007.09.18
Eclipse의 Task List에서 이슈 자세히 보기  (0) 2007.09.18
Eclipse의 Task List에서 이슈 목록보기  (0) 2007.09.18
top

TAG sitemesh