class ParagraphEditor { public: void highlight(Rectangle& r) { reverse(r); }어떻게 된건가? 의사소통이다. 한 줄의 메소드가 의사소통에 가장 중요하다.(?) 사용자의 입장에서는 그냥 highlight라는 메세지에 영역만 넣어서 보내면 되는 것이다. 사각형을 뒤집음으로써 highlight된다는 사실을 몰라도 되는 것이다. IntentionRevealingMessage는 컴퓨터를 위한다기보다는 사람을 위한 가장 극단적인 형태의 패턴이다. 의도와 구현을 분리하자는 것이다. 메세지의 이름을 그 메세지 내에서 어떻게 되는건가로 짓지 말고, 그 메세지가 무엇을 하는건가로 짓자.
class Collection { bool isEmpty() { return size == 0; } }; class Number { Number reciprocal() { return Number(1/this.num); } }; class Object { bool operator==(const Object& other) { return this == *other; } };