모듈간끼리 연관성있는 것들에 대해 어떻게 설계를 해야 할까요?
300
작성한 질문수 4
우선 이번 강의를 통해 기존의 DOM을 단순조작하는 코딩에서 벗어날 수 있는 생각을 갖게 되어 너무 감사드립니다. 무엇보다도 짜임새 있는 설계와 유지 보수가 가능할 수 있는 코드를 만들수 있을 것 같아 이번 강의를 통해 많은 생각을 할 수 있게 되어 감사합니다.
강의 들으면서 한 가지 질문이 생겼는데요 만약에 모듈 간 영향력이 있는 경우는 어떻게 설계를 가져야 할까요? 예를 들어 ClickCount의 예제에서 확장해서 + - 버튼을 클릭하면 옆에 특정 모듈에서 총 클릭 수를 보여주는 totalClickCount와 totalClcikCountView 를 만들어 사용한다고 한다면 어떻게 설계해야 할까요?
대부분의 실생활 로직들이 모듈간의 서로 영향력을 주고 받는 일이 비일비재한 이런부분 에서 어떻게 설계해야 하는지 질문 드립니다.
답변 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





