반응형
Notice
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- Yes
- 딥러닝
- 디자인패턴
- 사이버보안
- 파이썬
- 인공지능
- 알고리즘
- 컴퓨터공학
- 클라우드컴퓨팅
- 데이터과학
- springboot
- 보안
- 네트워크
- 데이터분석
- 버전관리
- 자바스크립트
- 프로그래밍언어
- 소프트웨어
- 머신러닝
- I'm Sorry
- 빅데이터
- 웹개발
- 프로그래밍
- 컴퓨터과학
- 네트워크보안
- 컴퓨터비전
- 소프트웨어공학
- 데이터구조
- 자료구조
- 데이터베이스
Archives
- Today
- Total
스택큐힙리스트
고차함수로 끝내는 Strategy 패턴, 딱 3줄! 본문
반응형
“수수료 정책 또 바뀌었대…”
클래스 만들기 귀찮다면 코틀린 고차함수로 전략을 바로 끼워 넣자. 인터페이스도, DI 설정도 필요 없다. 함수 하나가 곧 전략 객체가 된다.
typealias FeePolicy = (Int) -> Int // ① 전략 타입
fun pay(amount: Int, strategy: FeePolicy) = amount + strategy(amount) // ② 컨텍스트
println(pay(10_000) { (it * 3) / 100 }) // ③ 런타임 전략 주입
- 1줄: typealias로 전략(알고리즘) 시그니처 선언
- 2줄: pay 함수가 컨텍스트 역할, 전략에 계산 위임
- 3줄: 호출부에서 람다만 넘기면 카드·계좌이체·쿠폰 어떤 수수료든 즉석 교체 완료!
이렇게 하면
- 파일 수 ZERO 증가 – 유지보수 스트레스 최소화
- 테스트도 간단 – 다른 람다만 주입해 예상 금액 비교
- 스프링 부트와도 찰떡 – @Bean으로 다양한 FeePolicy 등록 가능
단, 로직이 복잡하거나 상태가 필요해지면 정식 Strategy 클래스로 넘어가자. 고차함수는 “가볍고 단순”할 때 가장 빛난다.
반응형
'개발' 카테고리의 다른 글
“구독 · 알림 · 자동 반응” — Observer 패턴 한눈에 이해하기 (1) | 2025.07.22 |
---|---|
함수 타입 vs 클래스 구현 – Kotlin Strategy 패턴 성능 벤치마크 실험기 (3) | 2025.07.22 |
코틀린 Strategy 패턴 한방에 이해하기 – 알고리즘을 ‘핫스왑’하는 가장 간단한 방법 (0) | 2025.07.21 |
Kotlin by 키워드로 3-줄 프록시 완성하기 (1) | 2025.07.21 |
Proxy 패턴: ‘대리’로 구현하는 로깅·보안·캐싱 마법 (0) | 2025.07.21 |
Comments