C/C++ 디자인 패턴 (6) — 어댑터(Adapter)
새로 설계한 코드는 온도를 섭씨 double로 다루는데, 가져다 써야 하는 외부 센서 라이브러리는 화씨 1/10도 정수를 돌려준다. 라이브러리는 고칠 수 없고, 우리 코드 곳곳에 단위 변환을 뿌릴 수도 없다. 어댑터(Adapter)는…
새로 설계한 코드는 온도를 섭씨 double로 다루는데, 가져다 써야 하는 외부 센서 라이브러리는 화씨 1/10도 정수를 돌려준다. 라이브러리는 고칠 수 없고, 우리 코드 곳곳에 단위 변환을 뿌릴 수도 없다. 어댑터(Adapter)는…
10편의 컨테이너들은 원소를 담는 방식이 저마다 다르다. 연결 리스트는 노드 포인터를 따라가고 배열은 인덱스를 늘려 가므로, 내부 구조를 그대로 공개하면 컨테이너를 바꿀 때마다 순회 코드도 고쳐야 한다. 반복자(Iterator) 패턴은 내부…