체크포인트: 프로토콜
- 프로토콜 클래스 이름은 고유합니다.
- 프로토콜은 최소한 하나의 협업에서 사용됩니다.
- 프로토콜의 간략한 설명은 프로토콜의 목적을
캡처하고 시스템에서 수행하는 해당 역할을 간략하게 요약합니다.
- 프로토콜은 결합력이
높은 단일 책임을 나타냅니다.
- 프로토콜의 신호는 모두 시스템의
프로토콜 역할 수행과 직접적인 관련이 있으며
단순히 두 캡슐 간의 통신에 사용되는 신호가 아닙니다.
- 신호는 명확성을 유지하면서 가능한
가장 일반적인 방법으로 선택되었습니다. (예를
들어, 여러 'Out' 신호 모두에 수신 확인이 필요한
경우, 단일 'Ack' 신호를 응답으로 사용했습니다.)
- 프로토콜은 시스템의 단일 목적을
반영합니다. 호출 처리 및 관리 신호와 같은
여러 문제가 프로토콜에 있는 경우, 독립적인
여러 프로토콜 클래스로 분리되었습니다.
- 제공자가 알고 있는 내용 대신 사용자가
알아야 하는 내용의 관점에서 프로토콜이 정의되었습니다.
- 결합할 인터페이스 "측"을 결정하는
가이드라인이 일관적으로 적용됩니다. 클라이언트(사용자)
관점에서 비대칭 프로토콜이 정의되어
인터페이스를 결합해야 하는 필요성을 줄입니다.
- 비대칭 프로토콜 클래스의 이름은 해당 방향성을
명확히 표시할 수 있도록 지정됩니다(예: 'ClientResourceInterface').
| |
|