Both sides previous revisionPrevious revisionNext revision | Previous revision |
design_pattern:template_method_pattern [2017/10/27 11:13] – ledyx | design_pattern:template_method_pattern [2021/02/07 03:30] (current) – [Template Method Pattern] ledyx |
---|
* 상위 클래스에서 처리의 뼈대를 세우고, 구체적인 처리를 하위 클래스에서 실행. | * 상위 클래스에서 처리의 뼈대를 세우고, 구체적인 처리를 하위 클래스에서 실행. |
| |
{{tag>Architecture Modeling DesignPattern Behavioral}} | {{tag>Architecture Modeling Design_Pattern Behavioral}} |
| |
GUI 앱에서 Menu, Sidebar를 열기/닫기/크기 얻기 동작을 한다고 가정. | GUI 앱에서 Menu, Sidebar를 열기/닫기/크기 얻기 동작을 한다고 가정. |
} | } |
} | } |
| </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> |