inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

견고한 JS 소프트웨어 만들기

모듈간끼리 연관성있는 것들에 대해 어떻게 설계를 해야 할까요?

300

노트북은맥북이지

작성한 질문수 4

1

우선 이번 강의를 통해 기존의 DOM을 단순조작하는 코딩에서 벗어날 수 있는 생각을 갖게 되어 너무 감사드립니다. 무엇보다도 짜임새 있는 설계와 유지 보수가 가능할 수 있는 코드를 만들수 있을 것 같아 이번 강의를 통해 많은 생각을 할 수 있게 되어 감사합니다.

강의 들으면서 한 가지 질문이 생겼는데요 만약에 모듈 간 영향력이 있는 경우는 어떻게 설계를 가져야 할까요? 예를 들어 ClickCount의 예제에서 확장해서 + - 버튼을 클릭하면 옆에 특정 모듈에서 총 클릭 수를 보여주는 totalClickCount와 totalClcikCountView 를 만들어 사용한다고 한다면 어떻게 설계해야 할까요?

대부분의 실생활 로직들이 모듈간의 서로 영향력을 주고 받는 일이 비일비재한 이런부분 에서 어떻게 설계해야 하는지 질문 드립니다.

 

 

tdd 소프트웨어-테스트 jasmine

답변 1

1

김정환

모듈간의 역할을 잘 분리하는게 중요합니다. 수업에서는 데이터, 카운터, 뷰로 각자의 역할을 가졌어요.

  • 데이터: 카운트 값

  • 카운터: 데이터를 변경 (올리거나 내리거나)

  • 뷰: 데이터를 표시. 카운터에게 데이터를 변경을 요청

이러한 설계는 코드가 크고 복잡한 경우에 힘을 발휘합니다. 역할을 명확히 분리하면 읽기 쉽고 일관된 구조를 유지할 수 있기 때문입니다.

하지만 항상 이렇게 분리해야하는 건 아닙니다. 단순하고 작은 기능이라면 하나의 모듈이 좋을 수도 있습니다. 오히려 코드 읽기가 힘들고 복잡해 오버엔지니어링이 될 수 있기 때문입니다.

수업 예제는 실무보다는 교육 목적의 코드입니다. 어쩌면 하나의 모듈이 나을수도 있는데요. 이것은 상황에 따라 선택해야하는 균형의 문제입니다. 실무 환경을 고려해 판단해야합니다.

총 클릭수를 보여준다면 현재 구조에서는

  • 데이터에 총 클릭수를 추가하고

  • 이걸 카운터에서 증가 시킬것 같습니다.

  • 그리고 데이터가 변경될때마다 뷰에 렌더하는

     

기존의 방식을 사용해 코드의 일관성을 유지시키는게 좋을것 같아요.

환불 요청

0

30

2

UserService, CertificationService 책임 분리 기준 질문

0

26

1

레이어드 아키텍처에서 도메인 중심 패키지 구조를 적용하거나 변화하는 시점이 있을까요?

1

40

2

POJO에서 Spring Test로 넘어갈 때 누락(해결됨)

0

33

1

[개발 환경 준비 인증하기] 미션 제출 방법 문의

0

66

3

미션 마감은 언제 되는 건가요?

0

63

1

섹션 4) 8. 실무 QA의 관찰 포인트 이해 강의 질문

0

39

1

tryMove(..) 메서드 ArrayIndexOutOfBoundsException 제보

1

63

2

dry 패턴

1

212

1

메소드 파라미터 변수명규칙

0

313

1

설치1듣고있는데용

1

395

1

actual 관련 Error Catch 부분.

0

223

1

jasmine 3 버전 실행시 randomized with seed 가 뭔지 궁금합니다.

0

323

0

모듈화를 진행할 때, 모듈패턴말고 클래스를 써서 모듈화를 진행해도 괜찮나요

0

284

1

App.ClickCounter의 인자로 원시형 자료가 아닌 객체를 넘겨주는 이유가 무엇인가요?

0

273

2

클릭카운터 모듈 - 스펙2 코드 질문

0

432

2

전역변수 value에 관한 질문입니다.

0

290

0

var App = App || {} 부분을 let으로 선언하면 에러가 나는데, 혹시 이유를 여쭤봐도 될까요?

0

356

1

강의 모두 보고 궁금한게 있는데요.

0

247

1

event delgation test 질문드립니다

0

223

1

event

0

236

0

모듈패턴 중에서 임의모듈패턴 /즉시실행함수 패턴

0

224

1

사소한 질문

0

285

1

강좌관련 질문드립니다

0

327

1