디자인패턴
-
[DESIGN PATTERN] 템플릿 메서드 패턴study/design pattern 2020. 8. 30. 18:13
템플릿 메서드 패턴 ( Template Method Pattern ) 알고리즘의 일부 또는 전부를 하위 클래스에서 구현하거나 위임하는데 사용한다. 즉, 공통으로 사용하는 알고리즘은 부모 클래스에 정의하고 특정 부분에서 사용하는 알고리즘은 하위 클래스에서 수행하도록 설계하는 것이다. public abstract class HouseTemplate { public final void buildHouse(){ buildFoundation(); buildPillars(); buildWalls(); buildWindows(); System.out.println("House is built"); } private void buildWindows(){ System.out.println("Building Glass W..
-
[DESIGN PATTERN] Strategy 패턴study/design pattern 2020. 8. 30. 18:01
스트레티지 패턴 ( Strategy pattern ) 지정된 알고리즘의 세부 구현을 변경할 필요없이 쉽게 교환할 수 있는 디자인 패턴이다. 실행 중이라도 구현된 알고리즘을 교환할 수 있으므로 의존성 주입에 자주 사용된다. 아래는 Strategy 패턴을 통해 간단한 로거를 만드는 예제이다. public interface Logging { void write(String message); } public class ConsoleLogging implements Logging { @Override public void write(String message) { System.out.println(message); } } public class FileLogging implements Logging { priva..