[Rails] 디자인 패턴, MVC 패턴 이란 무엇인가?

728x90

MVC 패턴 이란?


MVC 패턴에 대해 알아보기전에, 디자인 패턴이란 것에대한 이해가 필요합니다. 디자인 패턴이란 어떤 개발을 진행하면서 발생한 다양한 문제점에 대해 정리하여 , 대응책을 만든 뒤, 추후에 따라 간편하게 개발 할 수 있도록 만든 규약, 정리 한형태를 뜻합니다.

단순하게 말하면 프로그램을 더 쉽고 편리하게 유지보수 할 수 있도록 해주는 하나의 방법 입니다.

Ruby는 이중에서 MVC 패턴 이라는 디자인 패턴을 채택 하였습니다.

MVC 패턴


Rails는 MVC 패턴을 통해 프로그램을 구성하며, 서비스는 위의 흐름과 같이 동작하게 됩니다.

간단하게 정리하자면 [ 사용자가 Controller를 조작하면 Controller는 Model을 통해 데이터를 가져와 적절히 가공한 뒤, View를 제어하여 사용자에게 전달합니다. ]

1. Model


모델은 어플리 케이션의 정보, 데이터 및 정보와 데이터를 가공하는 규칙까지를 지칭.

Rails의 경우, Model은 주로 데이터베이스 테이블과 상호 작용하는 규칙들을 관리합니다.

즉, Model을 통해 데이터베이스에 접근하여 CRUD 를 실행할 수 있습니다.

비즈니스 로직(Service)은 일반적으로 Model에서 만듭니다.

여기서 비즈니스 로직은 사용자가 보기 원하는 결과물을 도출하기 위해(데이터를 가공하기 위해) 컴퓨터가 진행하는 일련의 과정을 뜻합니다.

예를 들어, 어떤 한 웹사이트에서 회원가입을 진행한다고 했을 때, 사용하려는 닉네임이 이미 사용중인지 아닌지를 확인하기위하여 사용하는 로직과 같은것을 들 수 있습니다.

2. View


View(뷰)는 사용자가 보는 화면, 즉 인터페이스 부분 지칭 합니다.

Model이 가진 정보를 저장할 수 는 없지만, Controller를 통해 Model의 정보를 받아 사용자에게 전달 합니다.

3. Controller


Controller(컨트롤러)는 Model과 View를 연결하는 역할을 수행합니다.

View에서 사용자가 보낸 요청을 처리하고, 비즈니스 로직이 필요할 때 Model에서 호출하는 방식으로 사용합니다.

⇒ Model과 View가 분리되어 서로 직접 관여할 수 없습니다.

MVC패턴은 유저 인터페이스와 비즈니스 로직을 분리하여 각각의 요소를 수정할 때 서로 영향을 끼치지 않는 장점을 가지고 있습니다.

이외에 DRY(Don't Repeat Yourself)를 유지하고 코드를 관리하는데 있어 편이성을 지니고 있어, 많은 곳에서 채택하고 있는 패턴입니다.

728x90

댓글

Designed by JB FACTORY