SmalltalkBestPracticePatterns:8.2

From 흡혈양파의 번역工房
Jump to: navigation, search
8.2 문제

우리가 해결할 문제는 복수통화(multicurrency)의 화폐가치를 표현하는 것이다. 보기보다 쉽지 않은 문제이다. 세계에는 많은 단위 값(unit-value) 계산이 있다. 숫자를 사용할 때마다 그것이 인치든, 픽셀이든, 또는 킬로그램이든 그 뒤에 함축된 최소한의 단위 집합이 존재한다. 그 중 일부는 다른 단위로 자유롭게 변환 가능한데, 파운드를 킬로그램으로 변환 시 그러하다. 일부를 제외한 나머지 단위는 그렇지 못하다. 4 미터에 2 그램을 더하면 오류가 발생한다. 단위 값의 프로그래밍을 쉽게 만드는 한 가지 단순화된 가정은, 의미가 통하는 변환에는 한 가지 불변의 변환 비율이 있다는 점이다. 파운드에서 킬로그램으로 변환율을 알아보기 위해 매일 아침 New York spot quote를 뒤질 필요는 없다.


돈(money)은 또 다르다. 변환 비율이 하나가 아니다. 변환 비율의 순서 또한 하나만 존재하는 것이 아니다. "내 포트폴리오를 홍콩이나 취리히에서 매매할 경우 가치가 달라지는가?"라는 질문에 답을 원할 때가 있다. 이러한 유연성의 필요성은 화폐를 표현하는 객체를 디자인할 때 주요 원동력이 된다.


Notes