...
각 패턴의 목적과 활용방법에 대한 지식을 습득하고 실무 서비스로직에 적용 중인 패턴을 공유한다.
1주차 - 생성 패턴
패턴명 | in JDK | in Practice |
---|---|---|
Abstract Factory |
...
javax.xml.xpath.XPathFactory | ||
Builder |
...
java.lang.StringBuilder | ||
Factory |
...
Method | java.util.Calendar | |
Prototype |
...
java.lang.Object#clone() | ||
Singleton |
...
java.lang.Runtime#getRuntime() |
2주차 - 구조 패턴
...
패턴명 | in JDK | in Practice |
---|---|---|
Adapter | java.util.Arrays#asList() | |
Bridge |
...
java.util.Collections#newSetFromMap() | ||
Composite | java.awt.Component | |
Decorator |
...
java.util.Collections#synchronizedXXX() | ||
Facade |
...
javax.faces.context.ExternalContext | ||
Flyweight | java.lang.Integer#valueOf(int) | |
Proxy |
...
java.lang.reflect.Proxy |
3주차 - 행위 패턴
패턴명 | in JDK | in Practice |
---|---|---|
Chain of Responsibility |
...
java.util.logging.Logger#log() | ||
Command |
...
java.lang.Runnable | ||
Interpreter |
...
java.util.Pattern | ||
Iterator |
...
java.util.Iterator | ||
Mediator |
...
java.util.concurrent.Executor#execute() | ||
Memento |
...
java.util.Date | ||
Observer |
...
java.util.EventListener | ||
State |
...
javax.faces.lifecycle.Lifecycle#execute() | ||
Strategy |
...
java.util.Comparator#compare() | 쿠폰 - 100원 할인 - 10% 할인 | |
Template Method | java.util.AbstractList | |
Visitor |
...
java.nio.file.FileVisitor |
4~6 기본 & 자주쓰는 디자인 패턴 특화 실습
...