-
불변객체로 설계하기
-
작업 수행에 앞서 매개 변수의 유효성을 검사하기
public Object pop() {
//메서드를 사용하기전 매개변수의 유효성을 검사하여 실패할 경우,상태 변경을 막는다!
if(size == 0)
throw new EmptyStackException();
Object result = elements[--size];
elements[size] = null;
return result;
}
-
객체의 임시 복사본에서 작업을 수행한 다음, 작업이 성공적으로 완료되면 원래 객체와 교체하기.
-
복구 코드를 작성하여 작업 전 상태로 되돌리기.(자주 쓰이지 않는 방법)