한주를 마무리하는 회고

jinn2u·2021년 9월 12일
1

TIL

목록 보기
12/14

이번주까지 바닐라js로 웹을 만드는 공부를 했다.

나는 class를 이용하여 구현을 했는데 그 이유는 코드에 대한 재사용을 용이하게 하고싶어서였다. function을 이용해서 하는 방법도 있겠지만, 같은 속성끼리 상속을 하여 사용하기에는 class로 작성하는것이 더 좋다고 생각했다.

setState(newState) {
    this.state = newState;
    this.render();
  }

  template() {
    return ``;
  }

  render() {
    this.$target.innerHTML = this.template();
    this.mount();
  }

  mount() {}

위의 코드는 모든 컴포넌트들이 상속하는 최상위 컴포넌트인데, 이렇게 상속을 받아 사용한다면, 재정의가 필요한경우 오버라이딩을 하며, 그렇지않다면 그냥 사용하면 되기 때문에 클래스형으로 작성해주었다.

고민들

또한 이러한 일련의 과정들을 채용과제로 주는 경우도 많은데, 왜 과제로 줄까에 대한 고민을 했었다.

나는 예전에 mvc로 구현을 했었는데, 과연 mvc패턴이 프론트엔드에 적합할까?라는 질문을 받게 되었다.

node.js의 스펙이 올라감에 따라 다양한 기능을 웹에서 수행하게 되고, 수많은 상호작용이 일어나는데, 렌더링되는 부분, 상태를 관리하는 부분 등을 역할에 맞게 분리하지 않으면, 웹의 변화에 대한 추적이 어려워지는것 같다. 따라서 mvvm과 같은 패턴들이 나오지 않았나 생각한다.

0개의 댓글