61. 코틀린으로 배우는 디자인 패턴 (4·완) — 행동 패턴: Chain of Responsibility, Command, Iterator, Mediator, Memento
시리즈 안내1편 — 생성 패턴: Abstract Factory, Builder, Prototype, Singleton2편 — 구조 패턴 ①: Adapter, Bridge, Composite, Decorator3편 — 구조 패턴 ②: Facade, Flyweight, Proxy4편 — 행동 패턴: Chain of Responsibility, Command, Iterator, Mediator, Memento (현재 글)들어가며시리즈 마지막 편입니다. 생성 패턴이 "어떻게 만드는가", 구조 패턴이 "어떻게 엮는가"였다면, 행동 패턴은 "객체들이 어떻게 협력하는가"를 다룹니다.앞의 두 분류가 주로 클래스 관계도의 문제였다면, 행동 패턴은 런타임에 흐르는 요청과 상태의 문제입니다. 그래서 이번 편은 예제를 물류 ..
60. 코틀린으로 배우는 디자인 패턴 (3/4) — 구조 패턴 ②: Facade, Flyweight, Proxy
시리즈 안내1편 — 생성 패턴: Abstract Factory, Builder, Prototype, Singleton2편 — 구조 패턴 ①: Adapter, Bridge, Composite, Decorator3편 — 구조 패턴 ②: Facade, Flyweight, Proxy (현재 글)4편 — 행동 패턴: Chain of Responsibility, Command, Iterator, Mediator, Memento들어가며구조 패턴의 나머지 세 가지입니다. 2편에서 "구조 패턴은 코드 모양이 다 비슷하고 의도만 다르다"고 했는데, 이번 편의 Proxy가 그 말의 결정판입니다. Decorator와 코드가 글자 단위로 같을 수도 있습니다.그래서 이번 편은 마지막에 구조 패턴 7개를 한 표로 정리하고 갑니다...
59. 코틀린으로 배우는 디자인 패턴 (2/4) — 구조 패턴 ①: Adapter, Bridge, Composite, Decorator
시리즈 안내1편 — 생성 패턴: Abstract Factory, Builder, Prototype, Singleton2편 — 구조 패턴 ①: Adapter, Bridge, Composite, Decorator (현재 글)3편 — 구조 패턴 ②: Facade, Flyweight, Proxy4편 — 행동 패턴: Chain of Responsibility, Command, Iterator, Mediator, Memento들어가며1편에서 다룬 생성 패턴이 "객체를 어떻게 만드는가"였다면, 구조 패턴은 "이미 만들어진 객체들을 어떻게 엮는가"를 다룹니다.구조 패턴을 관통하는 도구는 하나입니다. 합성(composition). 네 패턴 모두 "다른 객체를 필드로 들고 있으면서, 그 객체에 일을 넘긴다"는 골격을 공유..
58. 코틀린으로 배우는 디자인 패턴 (1/4) — 생성 패턴: Abstract Factory, Builder, Prototype, Singleton
시리즈 안내1편 — 생성 패턴 (현재 글)2편 — 구조 패턴 ①: Adapter, Bridge, Composite, Decorator3편 — 구조 패턴 ②: Facade, Flyweight, Proxy4편 — 행동 패턴: Chain of Responsibility, Command, Iterator, Mediator, Memento들어가며디자인 패턴은 "이런 상황에서는 보통 이렇게 풉니다"라는 선배 개발자들의 관습을 이름 붙여 정리해 둔 카탈로그입니다. 새로운 기술이 아니라 공통 어휘에 가깝습니다. 코드 리뷰에서 "여기 데코레이터로 빼는 게 낫지 않을까요?" 한마디로 설명이 끝나는 것, 그게 패턴을 아는 실익입니다.다만 자바 기준으로 쓰인 패턴 설명을 코틀린에 그대로 옮기면 어색해집니다. 코틀린은 GoF ..