728x90
반응형
SMALL

Design Pattern 2

Template Callback Pattern

템플릿 콜백 패턴은 굉장히 자주 사용되는 패턴이다. 콜백(또는 콜 애프터 함수라고도 함)은 다른 코드의 인수로서 넘겨주는 실행 가능한 코드를 말한다. 좀 더 직관적으로 말하면 파라미터로 실행 가능한 코드를 넘겨주면 받는 쪽에서 그 코드를 실행하는 것. 근데 자바에서는 실행 가능한 코드를 인수로 넘기려면 객체가 필요하다. 자바8 이전에는 하나의 메소드를 가진 인터페이스를 구현하고 주로 익명 내부 클래스를 사용했다. 자바8 이후로 람다를 사용할 수 있기 때문에 최근에는 주로 람다를 사용한다. 이 패턴의 예제를 살펴보자. 템플릿 콜백 패턴 예제 Callback.java package com.example.advanced.trace.strategy.code.template; public interface Cal..

Design Pattern 2023.12.12

Template Method Pattern

자바의 패턴 중 하나인 템플릿 메서드 패턴에 대해서 공부한 것을 작성해 보고자한다. 템플릿 메서드 패턴은 다형성을 이용하여 공통 부분을 하나로 정의하고 변하는 부분만을 유연하게 변경하게 하는 방법이다. 예를 들어, 모든 메서드에 대해 시작 시간과 종료 시간을 구해 메서드 실행 시간을 보여주는 로그를 모든 메서드에 적용하고 싶다면 어떻게 하면 될까? 방법은 많겠지만 템플릿 메서드 패턴이 그 중에 하나가 될 수 있다. 위 상황에서 모든 메서드에 대해 공통 부분은 무엇인가? 바로 메서드의 시작 시간과 종료 시간을 구해 소요시간을 구해내는 부분이다. 변하는 부분은 무엇인가? 각 메서드가 가지고 있는 비즈니스 로직이다. 이 모든 공통 부분에 대해 모든 메서드에 각각 적용한다면 적용하는 것도 일이겠지만 추후 요구사..

Design Pattern 2023.12.12
728x90
반응형
LIST