[Ruby On Rails] MVC 패턴

sunaaa·2021년 4월 11일
2

Ruby On Rails

목록 보기
2/20

Rails는 MVC패턴을 통해 프로그램을 구성한다.
프레임워크들은 주로 MVC(Model-View-Controller) 또는 MVVM(Model-View-View-Model) 아키텍쳐를 사용한다.

  • 모델은 에플리케이션에서 사용하는 데이터를 관리하는 영역
  • 는 사용자에게 보이는 부분
  • 컨트롤러는 사용자의 입력이나 조작에 따라 모델 데이터를 조회, 수정하고 변경사항을 뷰에 반영하는 역할

프론트엔드에서 사용했던 React컴포넌트단위로 프로젝트를 관리하며 View만 신경쓰는 자바스크립트 라이브러리였다. View만 다루기 때문에 어떤 데이터가 변할 때 마다 어떤 변화를 줄지 고민하는 것이 아니라, 가상 DOM을 이용해 기존 뷰를 날려버리고 처음부터 새로 리렌더링하는 방식을 취한다.
(프론트엔드 프레임워크/라이브러리 3대장 중 나머지 VueAngularMVC 프레임워크를 채택하고 있다. (정확히 말하자면, Angular2MVC고, AngularJSMVW이다)

MVC

  • MVC는 하나의 어플리케이션 또는 프로젝트를 구성할 때, 그 구성요소를 세 가지의 역할로 구분한 패턴이다.
  • ModelView가 서로 분리되어 직접 관여할 수 없으므로, UI와 비즈니스 로직을 분리하여, 각각의 요소를 수정할 때 서로 영향을 끼치지 않는다는 장점을 가지고 있다.
  • DRY를 유지하고 코드를 관리하는 데 편의성을 가지고 있다.
  1. Model
  • 어플리케이션의 정보, 데이터를 가공하는 규칙을 지칭한다. Rails의 경우, Model은 DB 테이블과 상호작용하는 규칙들을 관리한다. Model을 통해 DB에 접근하여 CRUD를 실행할 수 있다.
  • 비즈니스 로직(사용자가 보길 원하는 결과물을 도출하기 위해 컴퓨터가 진행하는 일련의 과정) 은 일반적으로 Model에서 만들어진다.
  1. View
  • 사용자가 보는 화면, 인터페이스 부분.
  • Model이 가진 정보를 저장할 수는 없지만, Controller를 통해 Model의 정보를 받아 사용자에게 전달함
  1. Controller
  • ModelView를 연결해줌.
  • View에서 사용자가 보낸 요청을 처리하고, 비즈니스 로직이 필요할 때 Model에서 호출함
profile
Be Playful Front-end Developer

4개의 댓글

장고에서만 보던 MVC를 선아님이 하신걸 보다니.. 화이팅입니다.

1개의 답글
comment-user-thumbnail
2021년 4월 16일

루비 배우러 종종 오겠습니다~ 선아님 화이팅!!

1개의 답글