E D R , A S I H C RSS

Converter Method

Converter Method

스몰토크의 String 클래스에 보면 asDate라는 메세지가 있다. 켄트벡 경험한 정말 극단적인 경우에 하나의 객체마다 다른 형태로 변환시켜주는 Converter Method가 30개씩 있었다고 한다. 새로운 객체가 추가될때마다 저 30개의 메소드를 모두 추가해줘야만 했던 것다.

위의 일화와 같 객체안에다가 Converting 해주는 메소드를 계속 추가 하다보면 끝도 없 많은 메소드가 나올 것다. 게다가 수신객체와의 커플링 증가한다. 것을 피하려면? 컨버전할것만 구현하면 된다.

~cpp 
class Collection
{
/* ... */
public:
	Set asSet() {
		/* ... */
	}
};
위 예제에서 Set은 Collection처럼 동작해야 한다. 즉, 객체가 리턴한것은 수신 객체와 같은 프로토콜을 가지고 있어야 한다. C++에서는 상속으로 해결할 수 있을듯하다.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:01
Processing time 0.0074 sec