Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
design_pattern:template_method_pattern [2017/10/27 11:13] ledyxdesign_pattern:template_method_pattern [2021/02/07 03:30] (current) – [Template Method Pattern] ledyx
Line 3: Line 3:
   * 상위 클래스에서 처리의 뼈대를 세우고, 구체적인 처리를 하위 클래스에서 실행.   * 상위 클래스에서 처리의 뼈대를 세우고, 구체적인 처리를 하위 클래스에서 실행.
  
-{{tag>Architecture Modeling DesignPattern Behavioral}}+{{tag>Architecture Modeling Design_Pattern Behavioral}}
  
 GUI 앱에서 Menu, Sidebar를 열기/닫기/크기 얻기 동작을 한다고 가정. GUI 앱에서 Menu, Sidebar를 열기/닫기/크기 얻기 동작을 한다고 가정.
Line 67: Line 67:
  }  }
 } }
 +</sxh>
 +
 += Client =
 +<sxh java>
 +public class Main {
 + public static void main(String[] args) {
 + AbstractLayout menuLayout = new MenuLayout(100, 100);
 + AbstractLayout sidebarLayout = new SidebarLayout(100, 500);
 +
 + print(menuLayout);
 + print(sidebarLayout);
 + }
 +
 + private static void print(AbstractLayout layout) {
 + layout.open();
 + layout.close();
 +
 + for(int value : layout.getMesasure()) {
 + System.out.println(value);
 + }
 +
 + System.out.println();
 + }
 +}
 +
 +/*
 +Menu opened!
 +Menu closed!
 +100
 +100
 +
 +Sidebar opened!
 +Sidebar closed!
 +100
 +500
 +*/
 </sxh> </sxh>
design_pattern/template_method_pattern.1509099209.txt.gz · Last modified: 2021/02/07 03:15 (external edit)