(디자인 패턴) MVC 패턴이란

제로코딩

·

2022. 6. 23. 15:54

반응형

 (디자인 패턴) MVC 패턴이란

MVC패턴 이미지

다음 이미지에서 보이듯이 View와 Controller가 서로간에 연결되어 있습니다.

그 외에 Controller는 Model을 작동시키고, Model은 View를 업데이트합니다. 

 

 

 

⚡️ MVC란

MVC = Model + view + controller
웹애플리케이션을 3가지의 구성요소로 나누어 개발과 유지보수를 편하게 하고자 하는데 목적을 둡니다.

 

 

 

📌 MVC로 나누는 이유

 

어플리케이션을 만들기위한 코드가 모두 한곳에 모여있다고 한다면 

웹디자이너는 어플리케이션의 디자인을 바꾸기 위해서 

코드의 디자인 부분과 제어를 위한 부분을 모두 살펴봐야합니다.

그것에 대해 모든 지식이 있어야 필요한 부분만을 바꿀 수 있을 것이고 그것은 개발자나 디자이너에게 부담을 증가시킬 것입니다.

즉, 개발자 또한 마찬가지로 로직 부분을 수정하기위해 어플리케이션을 보더라도 디자인을 위한 코드와 로직에 대한 코드를 구분할 줄 알아야합니다.

 

 

📌 구조 

 

Model 


어플리케이션의 대한 정보인 Data입니다.
View, Controller에 대한 어떤 정보도 지니면 안됩니다.

결합도를 높이기 위함입니다.
재사용성 증가를 위한 목적으로 사용됩니다.
Model의 Data에 대한 값 변경시 이벤트를 발생시켜 전달해야하고, Data변경 이벤트를 처리해야합니다.


View

사용자 인터페이스 요소를 나타냅니다.
사용자로부터의 입력, 그리고 보여주는 출력을 담당합니다.

Model 정보를 따로 저장해서는 안됩니다.
화면에 글자를 표시하기 위해 Model로 부터 데이터를 전달받을 때 그 데이터를 따로 저장하면 안됩니다.

View는 Model 로부터 데이터를 받아 화면에 표시하는 역할만을 담당하며 

다른 요소를 참조하거나 어떻게 동작하는지를 알아서는 안됩니다.

 


Controller


데이터와 사용자 인터페이스를 연결하는 역할로 사용자가 데이터를 클릭하고 수정하는 등의 이벤트들을 처리하는 부분입니다.

Controller는 Model과 View에 해당하는 영역에 대해서 알고 있어야 합니다.

컨트롤러는 어플리케이션의 사용자로부터 입력에 대한 응답으로 Model, View를 업데이트하는 로직을 포함하고 있습니다.

(ex, 어떤 리스트에서 항목을 추가하거나 제거하는 입력 폼과 같은 역할입니다.)

 

 

 

 

📌 작동과정 (Processing)

 

1. 사용자가 웹 브라우저를 통해 View를 보고 View가 Controller를 작동시킵니다.

2. Controller에서 필요할 때마다 Model을 참조하여 Data를 바꾸거나 Data를 가져옵니다.

3. Controller에서 적절한 View를 선택하고 전달받은 Model의 Data를 View에 같이 보냅니다.

4. View에서는 Model내의 데이터를 활용하여 화면 상에 표출합니다.

 

 

 

📌 마무리

즉, Model은 어플리케이션의 대한 정보인 Data입니다.
View, Controller에 대한 어떤 정보도 지니면 안됩니다.

 

1. 유지보수의 이점 (모듈화)

2. 재사용성

3. 객체 지향 관점에서 좋은 설계

=> (응집도와 결합도, 단일책임원칙)


웹애플리케이션을 3가지의 구성요소로 나누어 개발과 유지보수를 편하게 하고자 하는데 목적이 있습니다.

반응형