틀(Template) = 고정된 흐름 안에, 일부만 바꿔 끼우는 구조
→ 쉽게 말해, 전체 절차(Workflow)는 정해져 있고, 핵심 로직만 갈아끼우는 방식이다.
계약서 템플릿을 생각하면 이해가 쉽다.
계약서
-----------
계약자: [빈칸] ← 바뀌는 것
날짜: [빈칸] ← 바뀌는 것
조항: (고정) ← 바뀌지 않는 것
서명란: (고정) ← 바뀌지 않는 것
→ 즉, 틀 자체는 동일하며 일부 값만 상황에 따라 채우는 것.
코드에서도 마찬가지입니다.
예를 들어 DB/API 호출은 대부분 아래 흐름이 반복된다.
1. 자원 획득(연결)
2. 핵심 로직 실행 ← 매번 달라짐
3. 예외 처리
4. 자원 반납
여기서 바뀌는 것은 사실상 2번 핵심 로직 뿐이다. (나머지는 거의 반복)
즉, 반복되는 공통 흐름은 템플릿이 담당하고, 개발자는 바뀌는 핵심 로직만 전달하면 된다.
템플릿에서 바뀌는 부분(빈칸)을 채우는 대표 방식은 3가지입니다.