실용주의 프론트엔드 개발 리뷰 3


실용주의 프론트엔드 개발을 읽고 느낀점을 써봤습니다.


서문

  • 디자인 패턴이라는 단어에 대해 물어본다면, 프로젝트 폴더 구조, 또는 코드 구조로만 단순히 생각하고 있었다. 같은 문제에 관해 반복해서 해결책을 생각하는 "사고의 중복"이 일어나지 않게하는 기법이라는 말이 와닿지는 않는다. 이 글을 다 읽을 때 쯤에는 이해할 수 있겠지.

1. MVC

  • Model과 View, Controller로 나눈 “소프트웨어 디자인 패턴”이라고 알고 있었다. 각각에 대해 정의하고 연관된 관계정도로만 생각했다. 글을 읽고 조금 이해가 되지 않아, 그림이 있는 문서를 읽으니 조금 더 이해가 쉽게 되었다.
    • Model : 데이터에 대한 정의
    • View : 모델(데이터)의 보여주는 방향을 정의
    • Controller : 사용자로 부터 입력을 받아 모델과 뷰를 컨트롤 하는 역할
  • 사용자로 부터 입력을 받으면 -> 컨트롤러가 모델이 처리하게 전달 -> 모델이 가공해서 뷰에 전달 -> 뷰에서 사용자에게 보여줌

  • MVC - mozilla

2. 단순함을 지향하는 다양한 패턴들

프론트엔드 삼대장이라 불리는 Angular, React, Vue에서는 다양한 방법으로 상태관리를 할 수 있다. 어떤것이 옳냐 그르냐, 좋다 나쁘다 판단보다, 프로젝트에 맞는 방법을 찾아 나가는 것이 중요하다 생각한다.

  • 양방향 바인딩(two ways binding) - Angular(문법적 설탕이지만..), Mobx
  • Flux - Redux

여러 상태관리 방법이 있지만, 가장 좋은 것은 최대한 안쓰고 만드는게 아닐까 생각한다. 여기저기 광범위한 곳에서 필요한 데이터라면 모르겠지만..


3. 추상화

  • 정의 : 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내는 것을 말한다
  • 객체지향 프로그래밍을 이야기할때 빠질 수 없는, 근간이 되는 단어.
    • 객체지향 프로그래밍에서의 추상화란
      • 객체란, 하나의 역할을 수행하는 메소드(동사)와 데이터(명사)의 묶음
      • 그러한 객체들 중에서, 공통점을 뽑아내는 것.
    • 그 외 중요한 포인트로 캡슐화, 상속, 다형성 등이 있다.





© 2017. by isme2n

Powered by aiden