blue-delivery
-
확장성을 고려하여 객체지향적으로 영업시간 구현하기프로젝트/BLUE DELIVERY 2021. 7. 29. 23:35
blue-delivery 프로젝트를 진행하면서 주로 '확장 가능한 코드'를 작성하기 위한 고민들을 하였습니다. 하나는 영업시간을 구현하면서 했던 고민이고, 하나는 전체적인 구조에 대한 고민입니다. 이번 글에서는 확장성있게 영업시간을 구현하기 위한 고민을 정리해보았습니다. 입력받은 영업시간 정책을 어떻게 구분하고, 각 요일로 변환할까? (실제론 UI가 없지만) 대략 아래와 같이 입력받는다고 가정합니다. 주말 포함이라면 한가지 케이스의 오픈/마감 시간을 입력받아야 하고, 주말 별도라면 평일, 토요일, 일요일 총 3가지 케이스를 입력받아야 합니다. 그리고 어떤 정책(주말 포함or별도)이냐에 따라 적절한 요일로 변환해서 데이터베이스에 저장해야 합니다. (예를 들어, 위의 그림처럼 평일, 토요일, 일요일을 입력받..