Tiles와 SiteMesh 차이
참조: 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. |
일단, 재사용성에 있어서는 매번 데코레이터를 적용하여 페이지를 만들어 내는 데코레이터 패턴 보다는 변하는 부분만 바뀌고 나머지는 재사용하는 컴포짓 뷰 패턴에 한표를 주고 싶습니다.
두 번째, 설정에 있어서는 컴포짓 뷰 패턴이 모든 페이지에 (뷰 구성요소들을)명시적으로 정의해줘야 하는 불편함이 있기 때문에 데코레이터에게 한표 주겠습니다.
세 번째. 실행시에 설정을 변경할 수 있는 것 때문에 컴포짓 뷰에 한표 주겠스니다.
마지막으로 성능에 있어서도 컴포짓 뷰에 한표 주겠습니다.