오랜만에 개념정리 글을 쓴다.
그 동안 제대로 알지 못하고, 어떻게 써야 좋을지 고민이었어서 넘어간 주제가 많다.
하지만 오늘은 스프린트를 조금 빨리 끝내서 여유가 있으니
조금만 작성해 보려고 한다.
MVC Design Pattern 출발 !
Design Pattern 이란?
우선 디자인 패턴은 무엇인가?
디자인 패턴이라고 하면 일러스트, 포토샵에서 쓸 단어라고 생각할 수 있지만,
컴퓨터 과학에서 사용하고 있는 단어이다. 오우(물론 다른 곳에서도 사용한다.)
디자인 패턴은 여러 사람이 협업 단계에서 개발을 할 때 자주 발생하는 문제들을 효율적으로 관리하기 위한 구조이다.
코드를 각 단계마다 분리하여 분리하여 한 코드는 한 가지 기능만 담당하게 된다.
이를 통해 재사용성, 유지보수, 코드의 가독성 등 모든 면에서 ++가 생기는 것.
즉, 디자인 패턴은 개발자들의 학습능력과 집단지성이 만들어 낸 역사의 한 작품이라고 할 수 있다.
후손들은 이것을 잘 이용해서 앞으로 협업에서 개발을 할 때 생기는 문제들을 조금 더 쉽게 고칠 수 있을 것.
땡큐!!
(패턴에는 정말 다양한 종류와 규칙, 용어가 있따. 하지만 그것은 나중에 알아보자.)
MVC Design Pattern 이란?
그러면 우리가 오늘 배운 MVC는 무엇인가?
그림으로 보자
요 그림을 MVC 라고 한다. - Model, View, Controller의 약자.
한 애플리케이션을 개발한다고 했을 때 흔히 사용되는 패턴이다.
크게 역할은 Model, View, Controller로 나뉜다.
그러니까 MVC겠지?
위 그림을 보면 누가 누구랑만 상호작용을 하는지 알 수 있다.
그럼 각자의 역할은 무엇일까?
Model
DB(데이터베이스)와 연결되어 있는 녀석.
DB에서 받아 온 값들을 Controller와 연동을 한다.
이 녀석의 특징은 절대로 View와 연결되어 있지 않다.
또한, 애플리케이션의 정보, 데이터베이스의 초기값, 변수 등을 담고 있기도 하다.
정보를 책임지는 녀석.
View
사용자들에게 보여지는 인터페이스를 뜻한다.
데이터들을 출력하는 것을 담당.
각자의 역할만 담당하기 때문에 컨트롤러나 모델이 무슨 일을 하는지 모른다.
그냥 데이터가 변하면 변한 것을 출력하는 역할만 잘하면 된다.
뷰야 뭐 하려고 하지마 보여줄 거면 결승에서 보여줘.
Controller
컨트롤러는 뷰와 모델과 상호작용을 한다. Model에 명령을 보내 데이터를 바꾸기도 하고,
어떤 것을 View에게 넘길지 명령도 한다.
완전 갑인데?
흔히 말해 우리가 인터넷에서 클릭이나, 수정하는 그런 ‘이벤트’ 들을 담당하는 녀석이다.
MVC Design Pattern 마무리
디자인 패턴의 좋은 모습은 서로의 기능이 분리되어 각자의 역할만 잘 수행할 수 있도록 돕는 것이다.
이미 다양한 디자인 패턴이 사용되고 있으니, 나 같은 찐따는 이러한 구조를 이해하고, 주어진 것을 잘 사용할 수 있도록 연습하면 된다.
또한, 무언가를 만들 때 디자인 패턴과 같은 사고방식으로 개발을 시작할 수 있도록 정신머리를 바꿔놔야 한다.
상황에 따라 다양한 디자인 패턴이 존재하니 앞으로 하나하나 배워가자.