개발 단계 01
선택 중인 값과 저장된 결과를 나눕니다
처음 장바구니를 열면 서버에 저장된 ‘기본형 · 1개 · 18,000원’을 읽습니다. 이후 사용자가 대형과 2개를 선택하면 앱은 입력값을 바꿔 보여줍니다. 이 순간 선택 화면이 바뀌었다고 서버의 장바구니까지 바뀐 것은 아닙니다.
구현 판단
이 단계에서 정하는 것은 버튼 모양만이 아닙니다. 어느 값이 사용자의 현재 선택이고, 어느 값이 서버에서 마지막으로 확인한 결과인지 화면 상태부터 나눕니다. 이후 요청이 거절되거나 응답이 늦어져도 두 값을 혼동하지 않게 하는 기준입니다.
처리 기준 자세히 보기
그래서 화면에는 ‘변경할 옵션·수량’과 ‘저장된 장바구니’를 구분해 둡니다. 선택 중에는 저장 전이라는 사실을 알리고, 변경을 요청한 뒤에는 처리 중 상태를 표시합니다. 서버 결과를 받기 전에 ‘변경 완료’로 표시하지 않는 것입니다.
선택 화면에서 예상 금액을 계산해 보여줄 수도 있지만, 그 값은 저장 결과와 구분해야 합니다. 이번 흐름에서는 서버가 확인한 상품 합계를 저장 결과로 보여주도록 정합니다. 앱의 계산식과 서버의 계산식이 우연히 같다는 이유만으로 저장이 끝났다고 판단하지 않습니다.

