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