기간 개념을 모델링할 때 팁
- start 는 stop 과 짝을 이루는게 좋다. start/end 하고 싶겠지만 begin/end 가 좋다.
- 끝 지점을 포함할 것인가 말 것인가 고민해야 하는데 현실적으로 포함하는 것이 더 편하긴 하다.
- valid 한 지점을 점검해야 하는 것이라면 invalid 한 정보가 있을 때 유효하다.
- available 한 지점을 점검해야 하는 것이라면 in-available 한 정보가 있을 때 유효하다.
상품에 유효 기간을 부여하는 작업을 추가하는 과정에 duration 타입과 begin/end 타입을 선택해서 반영되도록 해야 하는 업무였다.
결국 product.period.type, product.period.duration, product.period.begin/end 로 줄여졌다.
링크들