가게 & 메뉴
장바구니 데이터는 보통 로컬에 저장을 한다. 서버에 저장을 하지는 않는다. 여기서 발생할 수 있는 문제가 있다. 예를 들어, 사장님이 판매하고자 하는 데이터를 삭제하게 되면 장바구니의 데이터와 판매상품의 불일치가 발생하게 된다. 따라서 주문데이터와 실제로 있는데이터와의 일치여부를 검증하는 것이 필요하다.
처음엔 메뉴-주문항목, 옵션그룹-주문옵션그룹, 옵션-주문옵션을 모두 비교해야한다. 즉, 바뀔 수 있는 값에 대해 상호검증이 모두 들어가야한다. 추가적으로 가게가 영업중인지, 최소주문금액을 충족하는지를 한 번 더 검증을 해야한다.
검증로직을 하나하나 태워야한다. 첫번째로 주문금액이 최소주문금액 이상인지 확인 -> 가게가 영업중인지 확인 -> 옵션의 가격과 주문옵션의 가격이 같은지 비교 -> 옵션의 이름과 주문옵션의 이름 비교 -> 옵션그룹의 이름과 주문옵션그룹의 이름 비교 -> 메뉴의 이름과 주문항목 이름 비교
연관관계 -> 협력을 위해 필요한 영구적인 탐색 구조 Order가 Shop으로 가는 경우가 간혹 한번있다면 이것을 연관관계가 있다고 보기 어렵다. 그런데 이것이 아주 빈번하다면 연관관계라고 볼 수 있다.
핵심은 연관관계로 갈 것인지, 의존관계로 갈 것인지가 아니라 방향성이다.