MVVM Role Design
#
view book & bind#
Role Design#
Framework각각 장단점이 있다.
#
vue angularbinder 가 존재하는 view 를 스캔한다.
- 모델과 뷰를 완전히 분리해서 관리하기 쉽다.
#
react처음부터 데이터와 연결되어있는 뷰를 만든다. (컴포넌트 방식??)
- 리액트는 컴포넌트에서 state 를 소유
- 모델과 뷰를 같이 관리해야 된다.
#
역할의 분리scanner 로 인해서 binder 와 html 의 관계를 끊었다.
HTMLElement 는 자주변함 → Binder 에서 Scanner 를 분리
#
변화율 객체가 바뀌는 이유를 하나로 만들자 SRPbinder
- viewModel 을 이용해서 view 를 그릴때만 로직이 바뀌면 된다.
scanner
- HTML 을 해석하는 것이 다르면 바뀐다.
#
hook 을 각각 binderItem 으로 만든다.
#
ViewModel순수한 인메모리 객체이기 때문에 만들기 제일 쉽다.
단위테스트도 쉬워진다.
- dom 을 테스트하기는 어렵지만 viewModel 을 테스트 하기는 쉽다.
#
Binder#
제어의 역전어떠한 종류의 뷰라고 할지라도, paint(render) 로직을 binder 가 가진다.
언제 Set 을 쓰고 언제 Array 를 쓸까?
- Set 은 중복 방지기능이 있다.
- Set 은 객체의 컨테이너다.
- Array 는 똑같은 객체를 두번 넣을 수 있다.
#
Scanner#
Clientmodel render
브라우저의 렌더성능은, 대부분 paint 에 든다. 인메모리의 객체의 탐색과 같은 부분은 성능영향에 거의 미미하다.