웹 혹은 모바일 어플리케이션을 개발 할 때,
개발자들은 코드를 간단히 하고 쉽게 작업하기 위해서 서로 다른 패턴들을 사용합니다.
MVC 는 이러한 패턴 중 하나입니다.
이는 비즈니스 로직과 데이터 접근 로직으로부터 유저 인터페이스를 분리하는 법을 설명합니다.
이러한 방식으로 유저 인터페이스는 독립적으로 조정 될 수 있습니다.
따라서, 어플리케이션의 서로 다른 부분들 사이에서 낮은 연결성을 가집니다.
이번 주제를 읽고 난 후, 당신은 MVC 패턴의 컴포넌트들에 대해서 배울 겁니다.
게다가, 이에 대한 장점, 그리고 또한 언제 MVC 를 사용하면 좋지 않은지도 고려 해 볼 겁니다.
What are MVC and MVC components - MVC 와 MVC 컴포넌트는 무엇일까
MVC (Model-View-Controller) - (모델-뷰-컨트롤러) 는,
어플리케이션을 세 가지 논리 컴포넌트들로 분리하는 아키텍쳐 패턴입니다 :
- Model 은 모든 데이터에 대한 책임을 가지고 있으며, 관련된 로직에 책임이 있습니다.
- View 는 유저들에게 데이터를 표현하는 것, 유저 상호작용 핸들링에 책임이 있습니다.
- Controller 는 변화를 위해 Model의 필요를 알립니다.
이러한 컴포넌트들이 어떻게 작동하는지 이해하기 위해,
밑의 예제를 고려 해 봅시다 :
---
title : MVC 예시
---
flowchart RL
Model
View
Controller
User
subgraph ""
direction TB
View
Controller
end
Model -- Updates\n 업데이트 --> View
View -- Sees\n 보기 --> User
User -- Uses\n 사용하기 --> Controller
Controller -- Manipulates\n 조작하기 --> Model
유저가 상호작용 요소들을 클릭했을 때,
이 요소들은 Controller 와 상호작용합니다.
Controller 는 유저의 입력을 받아들이고, Model 과 상호작용합니다.
Model 은 어플리케이션의 상태를 표현합니다.
이는 데이터베이스 데이터, 파일, 인 메모리 데이터, 혹은 무언가가 될 수 있습니다.
조정이 끝난 후, Model 은 View 를 업데이트하고, 유저는 이것을 보게(Sees) 됩니다.
위의 그래프는 MVC 아키텍처의 가장 기본적인 버전을 묘사합니다.
또한 View 와 Controller 사이의 연결에 흔한 변형 버전이 있습니다.
이러한 경우, Controller는 Model 과 View 컴포넌트들 사이의 상호 연결을 제공합니다.
Advantages and disadvantages of MVC - MVC 장점과 단점
MVC 는 이러한 혜택 덕분에 인기 있는 패턴이 되었으며, 널리 사용됩니다 :
- 컴포넌트들로 분리함으로서, 어플리케이션의 유연성, 유지보수성, 확장성이 향상되었습니다.
- 당신은 컴포넌트들을 각각으로부터 분리하여 테스트 할 수 있습니다.
- 컴포넌트들은 재사용 될 수 있습니다.
- Model 들은 여러 View 들을 가질 수 있습니다.
- MVC 는 서로 다른 컴포넌트들에 대해 서로 다른 수준의 보안을 구성할 수 있게 해 줍니다.
그리고 이것들은 MVC 패턴의 단점들입니다 :
- 작은 어플리케이션에 대해서는 알맞지 않다는 것을 참고해야 합니다. 이는 간단한 어플리케이션을 복잡하게 만듭니다.
- MVC 는 고성능 의 어플리케이션에는 알맞지 않습니다.
가끔은 여러 개의 계층을 가진 아키텍쳐를 통해 가는 것이 더 효율적입니다.
MVC 는 유일한 아키텍쳐 패턴이 아닙니다.
다음과 같은 경우 명심 할 가치가 있습니다.
몇 가지 이유로, 당신의 어플리케이션 개발에 대해 알맞지 않는다면요.
비슷한 요구들에 대해 몇 가지 다른 패턴들이 있습니다 :
- MVC : Model - View - Presenter
- MVVM : Model - View - ViewModel
MVC, MVP, MVVM 패턴들은 종종 MV 제품군 이라고 부릅니다.
Conclusion - 결론
MVC 는 비즈니스 로직과 데이터 접근 로직에 의한 비즈니스 로직에서 유저 인터페이스를 분리하는 아키텍쳐 패턴입니다.
MVC 는 장점과 단점을 가지고 있으며,
많은 구현들과 해석들을 가지고 있습니다.
이 패턴이 원리 데스크톱 그래픽 유저 인터페이스에서 주로 사용되던 패턴이란 것을 아는 것은 흥미롭습니다.
최근 들어, MVC 는 웹, 모바일 어플리케이션의 개발에서 사용되고 있습니다.
그러므로, 미래에 있어 이 지식은 당신에게 유용 할 겁니다.
words to remember
inform : 알리다
manipulate : 조작하다
sought-after : 인기 있는, 필요로 하고 있는
configure : 구성
worth : 가치, 보람, 재산, 할 만한, ~의 가치가 있는, 일어나다
interpretation : 해석
'Hyperskill - 컴퓨터 CS 및 영어 독해 > Introduction to Docker' 카테고리의 다른 글
HTTP messages - HTTP 프로토콜 메세지 (0) | 2024.07.18 |
---|---|
HTTP URL - HTTP 프로토콜 경로 (0) | 2024.07.18 |
Introduction to software architecture - 소프트웨어 아키텍쳐 기초 (0) | 2024.07.15 |
Documentation - 프로그램 문서 작성 (1) | 2024.07.15 |
Processes and Threads - 프로세스와 쓰레드 (0) | 2024.07.14 |