오픈빌더 설정 리펙토링 - ChoDragon9/posts GitHub Wiki

컴포넌트화

컴포넌트 하나에 모든 마크업과 상태관리와 이벤트 처리를 모두 때려넣었더니 요구사항이 늘어날수록 코드베이스가 굉장히 많이 증가를 하게 되었다. 이제는 정말 리펙토링을 하지 않으면 요구사항을 받아들이는 데 시간이 많이 소비되고 수정하기 힘들거라 예상되어 리펙토링을 바로 진행했다.

생각보다 간단하게 진행되었다.

  1. 해당 피쳐모듈전용 서비스 생성
  2. 서비스로 옮길 수 있는 상태 추출
    • 보통 저장할 때 부모 컴포넌트에서 필요한 부분을 추출했다.
    • 모두 getter를 통해 사용하고, 수정은 메소드를 통해서 하도록 했다.
  3. 서비스로 옮길 수 있는 메소드 추출
  4. 자식 컴포넌트로 변경할 수 있는 부분 추출 후 컴포넌트화

역할 확인

컴포넌트에 정의된 행위들이 해당 컴포넌트에 역할이 아닌 것들은 다른 곳인 서비스 또는 유틸성으로 이동시킨다.