2025/04/22 2

Strategy Pattern (전략 패턴)

전략 패턴은 알고리즘들의 패밀리를 정의하고, 각 패밀리를 별도의 클래스에 넣은 후 그들의 객체들을 상호교환할 수 있도록 하는 행동 디자인 패턴입니다.한 코드에서 다르게 동작해야 하는 부분들이 존재할 때, 그 부분들을 따로 빼는 것 Ex)기존 Navigator 클래스는public class Navigator { public Route roadRoute() { // ... 도로 루트 로직 return route; }}와 같은 형태로 이루어져 있었는데, 어플리케이션이 확장되면서 대중교통, 걷기 루트가 추가됨.public class Navigator { public Route roadRoute() { // ... 도로 루트 로직 return route; } ..

Template Method Pattern (템플릿 메소드 패턴)

템플릿 메서드는 부모 클래스에서 알고리즘의 골격을 정의하지만, 해당 알고리즘의 구조를 변경하지 않고 자식 클래스들이 알고리즘의 특정 단계들을 오버라이드​(재정의)​할 수 있도록 하는 행동 디자인 패턴입니다.여러 코드에서 중복되는 부분이 존재할 때, 그 중 중복되지 않는 부분만 재정의 할 수 있도록 따로 빼는 것 Ex)DocDataMiner, CSVDataMiner, PDFDataMiner의 mine 메소드에서,rawData = extract(Doc/CSV/PDF)Data(file) data = parse(Doc/CSV/PDF)Data(rawdata)부분을 제외하면 모두 같음. 변하는 부분과, 변하지 않는 부분을 분리하여 모듈화 할 수 있으면 더 깔끔한 구조가 될 것. 템플릿 메서드 패턴은, "템플릿" ..