코틀린 디자인 패턴 (12) – Proxy 패턴은 Decorator와 무엇이 다를까
코틀린 Proxy 패턴을 접근 제어, 지연 로딩, 캐싱 관점에서 정리합니다. Decorator와 구조는 왜 비슷해 보이지만 목적은 어떻게 다른지 Kotlin 예제로 설명합니다.
코틀린 Proxy 패턴을 접근 제어, 지연 로딩, 캐싱 관점에서 정리합니다. Decorator와 구조는 왜 비슷해 보이지만 목적은 어떻게 다른지 Kotlin 예제로 설명합니다.
코틀린 Flyweight 패턴을 메모리 절약 관점에서 정리합니다. 공유 가능한 상태와 외부 상태를 어떻게 나누는지, Factory와 캐시를 어떻게 쓰는지, 언제 실전적으로 의미가 있는지 Kotlin 예제로 설명합니다.
Facade 패턴은 복잡한 서브시스템 앞에 단순한 진입점을 두는 구조 패턴입니다. Kotlin에서 SDK 초기화, 업로드, 결제 같은 다단계 절차를 어떻게 깔끔하게 감출 수 있는지 실전 예제로 정리합니다.
Decorator 패턴은 코틀린에서 기능을 덧붙일 때 상속 계층을 더 만드는 대신 래퍼를 겹쳐 붙이는 방식입니다. 로깅, 압축, 암호화 같은 부가 기능을 composition으로 확장하는 감각을 Kotlin 예제로 정리합니다.
코틀린 Composite 패턴은 파일과 폴더처럼 개별 객체와 묶음 객체가 반복되는 트리 구조에서 특히 유용합니다. 호출부에 분기와 재귀를 흩뿌리지 않고, 공통 인터페이스로 전체 트리를 일관되게 다루는 감각을 Kotlin 예제로 정리합니다.
코틀린 Bridge 패턴은 알림 종류와 발송 채널처럼 서로 독립적으로 늘어나는 축이 있을 때 특히 유용합니다. 상속 계층 하나로 조합을 다 감당하려 하면 클래스가 금방 불어나기 때문에, Bridge는 abstraction과 implementation을 분리해 상속 폭발을 줄이는 방향을 제시합니다.