MVC 패턴
MVC 패턴
MVC 패턴에 대해서
Spring 공부를 시작하면서 MVC 디자인 패턴이 기본이 되어서
웹 개발을 한다는 것을 알았습니다. Spring은 JSP와 다르게
MVC 패턴을 구성할 때 어노테이션을 활용해 훨씬 손쉽게 구성할 수 있고
다양한 기능들을 사용할 수 있습니다. 그렇기에 기본적인 CRUD를 구성하는
Spring Project를 시작하기 전에 MVC 패턴이 무엇인지,
왜 사용하는지에 대해서 이해도를 조금 높이도록 하겠습니다.
https://m.blog.naver.com/jhc9639/220967034588
[개발자 면접준비]#1. MVC패턴이란
오늘은 개발자면접에 많이 나오기도 하는 MVC패턴에 대해서 알아보고자 합니다. 과연 MVC패턴이 무엇...
blog.naver.com
개인적으로 MVC 패턴을 이해하는데 큰 도움을 얻고
해당 글을 작성하는데도 도움을 많이 받은 블로그라 첨부하겠습니다.
MVC 패턴은 디자인 패턴 중 하나입니다.
디자인 패턴이란 프로그램이나 어떤 특정한 것을 개발하는 중에 발생했던
문제점들을 정리해서 상황에 따라 간편하게 적용해서 쓸 수 있는 것을
정리하여 특정한 "규약"을 통해 쉽게 쓸 수 있는 형태로 만든 것을 말합니다.
그래서 쉽게 이해하기 위해서 나름의 문장으로 정리한다면
디자인 패턴은 유지보수를 수월하게 하기 위해서 개발할 때
신경 써서 하나의 약속을 만든다는 것입니다.
그럼 조금만 더 생각해보면 우리가 정말 많이 활용하는 Library나
Framework 또한 하나의 디자인 패턴이 되는 것입니다.
우리가 이러한 디자인 패턴이 없으면 개발을 정말 허허벌판부터 시작한다는
생각으로 해야하기 때문에 시간도 노력도 상당히 많이 필요할 것입니다.
결국 디자인 패턴의 목적에는 "더 편리하게, 더 쉽게"라는 지향점이 있는 것 같습니다.
(사실 개발이라는 일 자체에서 항상 더 편리하고 쉽게 하기 위해
고민하는 수많은 순간들이 존재한다고 생각합니다.)
이러한 디자인 패턴의 하나가 바로 MVC 패턴이고 그 MVC 패턴은 다음과 같습니다.
MVC란?
MVC는 Model, View, Controller의 약자이다. 하나의 애플리케이션,
프로젝트를 구성할 때 그 구성요소를 세 가지의 역할로 구분한 패턴이다.
자세한 특징이나 규칙에 관련된 설명들은 위 참조된 블로그를 통해
참조하시면 될 것 같고 제가 이해한 MVC 패턴을 정리해보도록 하겠습니다.
MVC 패턴은 쉽게
"각자의 역할이 있는 사람들이 한 곳에 세명이 모여서
각자의 할 일을 하고 문제가 발생하면 각자 담당한 일에서 빠르게 찾아
해결한다"라는 개념을 가지고 있으면 머릿속에 MVC 패턴에 대한
이미지가 그려질 것이라고 생각합니다. 결국 아까도 말씀드렸지만
디자인 패턴의 목적 자체가 "더 편리하고, 더 쉽게"
즉, 효율성이 높아야하기 때문에 역할을 잘 분리해놓고
다양한 측면에서 효율성을 높이고자 하는 것입니다.
1. Model 모델
모델은 애플리케이션의 정보, 데이터를 나타냅니다.
2. View 뷰
눈에 보이는 것입니다. 사용자 인터페이스(UI) 요소를 나타냅니다.
동시에 입력과 출력도 담당하게 됩니다.
3. Controller 컨트롤러
데이터와 사용자 인터페이스 요소들을 잇는 다리 역할입니다.
즉, 모델과 뷰를 이어준다는 개념을 가지시면 됩니다.
위와 같이 세가지의 구성요소로 이루어져 있고 각 기능들의
앞글자를 따서 MVC 패턴이 되는 것입니다.
사실 디자인 패턴을 조금이라도 검색하면서 공부해보니
개념을 확실하게 익히는 것도 물론 중요하지만 실제 프로젝트를
만들어보면서 직접 경험해보는것이 가장 빠르고 확실하게
이해하는 방법이라고 생각합니다. 저 같은 경우는 JSP 프로젝트를 경험하면서
MVC Pattern에 대한 이해도를 높였습니다.