계층형 설계란??

계층형 설계 패턴

  1. 직접 구현 : 직접 구현된 함수를 읽을 때, 함수 시그니처가 나타내고 있는 문제를 함수 본문에서 적절한 구체화 수준에서 해결해야 합니다.

1. 직접 구현 패턴

{
  function freeTieClip(cart: string[]) {
    let hasTie = isInCart(cart, 'tie')
    let hasTieClip = isInCart(cart, 'tie clip')

    // 이후 로직
  }

  // 해당 항목이 있는지 없는지 확인 하는 함수를 따로 생성
  function isInCart(cart, name) {
    for (let i = 0; i < cart.length; i++) {
      if (cart[i].name === name) {
        return true
      }
    }
    return false
  }
}

호출 그래프를 만들어 함수 호출을 시각화하기