[Logging] 로그 출력을 효율적으로 생성 및 추적하기 5편 - Template Method
·
Spring/Logging
이전 문제점각각의 Controller, Service, Repository에서 주요 비즈니스 로직(CRUD)이 있고, 이 활동을 확인하기 위한 부가 기능인 로깅 출력 기능을 구현했다.부가기능과 핵심 기능이 한 군데 모여 있어 가독성이 떨어지고, 코드가 복잡해지면 유지 보수하기가 어려워진다는 문제점이 발생한다.핵심 기능과 부가 기능을 분리하여 설계하는 것이 디자인적으로 더 좋은 설계라고 할 수 있다.try{ answer = userService.create(name); //핵심 기능 trace.end(status); //부가기능 }catch (Exception e){ trace.exception(status, e); //부가기능 ..
[Design Pattern / Java] Template Method패턴
·
JAVA-기초/Design Pattern
[Design Pattern] - Template Method패턴 🟰 Templete Method란? ✅상위 클래스 쪽에 템플릿이 될 메서드가 정의되어 있고, 그 메서드 정의에 추상 메서드가 사용된다. ✅따라서 상위 클래스만 봐서는 최종적으로 어떻게 처리될 지 모른다. ✅상위 클래스로 알 수 있는 것은 추상 메서드를 호출하는 방법뿐 ✅하위 클래스에서 상위 클래스의 추상 메서드를 구현하며 각 하위 클래스에서 다르게 구현하면 처리도 다르게 이루어진다. ✅하지만 처리의 큰 흐름은 상위 클래스에서 구성한대로 된다. 🟰예제 프로그램 📌문자나 문자열을 5번 반복하여 표시하는 프로그램 📌등장하는 클래스 ✅ AbstractDisplay클래스 구현된 메서드는 display메서드 display안에는 open , print..