카드 게임의 Java 구현을 작성하고 있으므로 Zone이라고하는 특수 유형의 컬렉션을 만들었습니다. Java Collection의 모든 수정 메소드는 지원되지 않지만 Zone API에는 메소드가 있습니다.이 메소드 move(Zone, Card)는 카드를 지정된 영역에서 자신으로 이동시킵니다 (패키지 전용 기술에 의해 수행됨). 이런 식으로, 영역에서 카드를 가져 가지 않고 단순히 사라지지 않도록 할 수 있습니다. 다른 영역으로 만 이동할 수 있습니다.
내 질문은, 이런 종류의 방어 적 코딩이 얼마나 필요한가? "올 바르고"올바른 연습처럼 느껴지지만 Zone API가 일부 공용 라이브러리의 일부가되는 것은 아닙니다. 그것은 단지 나를위한 것이므로 표준 컬렉션을 사용하여 더 효율적 일 수있을 때 코드를 스스로 보호하는 것과 같습니다.
이 구역 아이디어를 얼마나 멀리 가져 가야합니까? 누구든지 내가 작성한 클래스의 계약을 유지하는 것에 대해, 특히 공개적으로 제공되지 않는 계약에 대해 얼마나 생각해야하는지에 대해 조언을 해줄 수 있습니까?