Node.js에서 사용하는 Sequelize ORM을 사용한다. 오늘은 그 Sequelize로 mvc 모델에 대한 부분이 어떻게 구성되고 작동하는지 공부했다. mvc는 패턴은 여러 프로그래밍 디자인 패턴중에 하나다. 어떻게 비즈니스 로직을 구성할 것인가에 대한 고민이 전체적인 패턴화된 디자인들을 만들어내게 되었다. mvc는 Model View Controller로 이 세가지의 구성으로 이루어진 패턴을 말한다. 여기서 이 세가지가 각자의 역할이 정해져있어서 역할에 따른 명확한 구분이 비즈니스로직의 규모가 다소 커지는 부분에 있어 혼란을 줄일 수 있게 구성되었다. Model은 데이터베이스와 연결되어 있어서 데이터를 관리하는 역할을 담당하고 View는 화면을 구성하는 보여지는 역할을 담당하고 Controller는 Model의 데이터를 가지고 가공해서 View에게 가져다 주거나 View에서 온 데이터 요청을 Model에게 알아들을 수 있는 데이터 요청으로 가공해서 전달해주는 역할을 한다. Controller에서 데이터 가공 처리를 담당한다.
mvc 패턴을 처음 봤을때는 용어도 익숙하지 않았고 무슨 역할을 하는지도 모두 이해되지 않았었지만 console과 결과물들로 하나하나 따라가다보니 무슨 역할을 하는지 감을 잡을 수 있었다. 그렇게 Sequelize 문법이 아직 익숙해지지는 않았지만 구성과 흐름에 대해서 이해할 수 있었다. 그렇게 흐름이 보이기 시작하니 이렇게 구성하는게 오히려 더 보기 좋고 가독성이 좋다는 것을 느끼게 되었다. 어느 순간 데이터에 대한 부분을 참고할 때는 model을 참고하게 되고 기능에 대한 함수를 볼때는 controller를 참고하고 있었다. 효율적인 작업 구성임을 알수 있었고 더 많은 모델들을 공부해야겠다는 생각이 들었다.