[TIL #25] 키오스크 과제 리팩토링에 대한 고민

2024. 11. 27. 01:03·개발/내일배움캠프 TIL

키오스크를 도전 기능 Lv.2 까지 완료를 하고 나니 분명 처음에 설계를 잘 해서 클래스 분리를 잘 했다고 생각했는데?

구현에만 집중하다가 다시 보니 뭔가 코드가 깔끔하지 못 해서 마음에 안 든다. 그래서 다시 클래스별로 맡은 책임을 정리해서 리팩토링 해보기로 하였다.

 

몇시간 고민해본 끝에 다음과 같이 리팩토링을 도전한다.

  • `KioskApp` - 키오스크 메인
  • `kioskConfig` - 의존성 주입 및 설정

  • `menu` Package - 메뉴 관련 패키지
    • `Category` - 카테고리 Enum
    • `MenuItem` - 메뉴 데이터 클래스
    • `service` - 메뉴 비즈니스 로직 관련 패키지
      • `MenuService` - 메뉴 관리
    • `repository` - 메뉴 데이터 저장소
      • `LocalMenuItemRepository`
  • `cart` Package - 장바구니 관련 패키지
    • `CartItem` - 장바구니 데이터 클래스
    • `CartService` - 장바구니 비즈니스 로직
  • `order` - 주문 관련 패키지
    • `Order` - 주문 데이터 클래스
    • `repository` - 주문 데이터 저장소
      • `LocalOrderRepository`
    • `service` - 주문 비즈니스 로직 패키지
      • `OrderService` - 주문 비즈니스 로직
  • `discount` - 할인정책 관련 패키지
    • `Grade` - 할인 등급 Enum
    • `DiscountService` - 할인 비즈니스 로직
  • `utils` - 유틸 관련 패키지
    • `InputHandler` - 사용자 입력 처리 유틸리티
    • `OutputHandler` - 출력 처리 유틸리티

진행중에 또 수정될 수 있지만 최대한 이대로 리팩토링을 완료해보겠다.

'개발 > 내일배움캠프 TIL' 카테고리의 다른 글

[TIL #27] SQL HAVING  (0) 2024.11.28
[TIL #26] 키오스크 과제 완성 그리고 그 과정  (0) 2024.11.27
[TIL #23] 싱글톤 패턴에 대하여  (0) 2024.11.23
[TIL #22] 키오스크 DIP, OCP 원칙 지키기  (0) 2024.11.22
[TIL #21] 키오스크 과제 설계 및 중간 리팩토링  (0) 2024.11.21
'개발/내일배움캠프 TIL' 카테고리의 다른 글
  • [TIL #27] SQL HAVING
  • [TIL #26] 키오스크 과제 완성 그리고 그 과정
  • [TIL #23] 싱글톤 패턴에 대하여
  • [TIL #22] 키오스크 DIP, OCP 원칙 지키기
BigChoi93
BigChoi93
이곳은 저의 성장과정과 개인적인 생각을 담기 위한 공간입니다.
  • BigChoi93
    Donologue
    BigChoi93
  • 전체
    오늘
    어제
    • 분류 전체보기 (61)
      • 개발 (53)
        • Javascript (2)
        • 내일배움캠프 TIL (41)
        • 개발일기 (4)
        • Java (2)
        • Spring (1)
        • Sql (1)
      • 일상 (0)
      • 사진 (1)
        • 포토샵 (1)
  • hELLO· Designed By정상우.v4.10.1
BigChoi93
[TIL #25] 키오스크 과제 리팩토링에 대한 고민
상단으로

티스토리툴바