Skip to main content

Model-View-Controller 란 무엇입니까?

MVC (Model-View-Controller)는 프로그램의 각 요소를 잘 정의 된 기능 영역으로 분류하는 소프트웨어 아키텍처 및 설계 패턴의 유형입니다.Model-View-Controller 아키텍처에서 모델은 데이터를 조작, 저장, 검색 및 처리 및 계산하는 모든 내부 프로그램 논리를 처리합니다.보기 측면은 사용자의 모델에서 정보를 표시 할 책임이 있으며 사용자가 프로그램에 입력 할 수있는 방법도 제공합니다.컨트롤러는 뷰에서 입력을 취하고이를 평가하거나 처리하고 모델과 상호 작용하여 데이터 또는 프로그램 상태를 변경하며 궁극적으로보기를 통해 사용자에게 표시됩니다.Model-Viewer-Controller 설계는 기능을 캡슐화하기위한 프로그램을 요구하지만, 세 섹션은 여전히 어떤 식 으로든 서로 상호 작용해야하며 일반적으로 다른 더 공격적인 디자인 패턴과 달리 어떤 의미에서는 서로 의존적입니다.종종 Model-View-Controller 패턴은 그래픽 사용자 인터페이스 (GUI)를 관리하는 응용 프로그램에서 볼 수 있습니다.MVC 패턴을 사용하여 GUI의 다양한 시각적 요소는 컨트롤러에서 사용자 클릭 위치 및 요약의 기록 및 처리에 의해 처리되며 실제로 변경 정보 또는로드 정보가 모델에 의해 수행됩니다.애플리케이션의 정확한 설계에 따라 MVC 패턴의 각 구성 요소는 화면을 새로 고치도록 뷰를 직접 지시 할 수있는 모델 또는 알 수있는 방법을 갖는 뷰를 직접 지시 할 수있는 다른 구성 요소와 상호 작용하는 메커니즘을 가질 수 있습니다.화면을 새로 고치고 새로운 입력을 허용하지 않는 컨트롤러.엄격한 블랙 박스 접근 방식을 취하는 일부 설계 패턴과 달리 모델-뷰 컨트롤러 프로그램은 약간 더 유연한 경향이 있지만 일부 구현은 MVC 프로그램을 모듈 식으로 변경하거나 디버깅하기 어렵게 만들 수 있습니다.뷰 컨트롤러 패턴에는 각 구성 요소 중 하나만 포함 할 필요가 없습니다.한 가지 예는 여러 모니터 또는 여러 클라이언트 장치에서 볼 수있는 디스플레이와 같은 여러 뷰가있는 응용 프로그램입니다.여러 뷰와 컨트롤러는 응용 프로그램에서 많은 사용자가 데이터베이스에 액세스 할 수있는 응용 프로그램에서 모두 단일 모델에 응답 할 수 있습니다.그러나 Model-View-Controller 구성 요소의 일대일 비율을 유지하는 시스템을 설계하는 것이 더 일반적입니다. Model-View-Controller 구성 요소가 서로 의존하지만 훨씬 쉬울 수 있습니다.패턴이 전혀 사용되지 않은 경우, 특히 객관적이지 않은 응용 프로그램의 경우 MVC 패턴을 사용하는 시스템의 특정 부분을 수정합니다.응용 프로그램이 콜백 또는 청취자 및 관찰자를 사용하여 구성 요소 간의 상호 작용을 구현하는 경우, 다른 구성 요소에 영향을 미치지 않고 각 구성 요소를 변경할 수 있습니다.이는 모델이나 컨트롤러에 영향을 미치지 않고 새로운 GUI를 구현할 수 있음을 의미합니다.그러나 모델-뷰 컨트롤러 시스템에 대한 근본적인 변화는 각 개별 구성 요소에 대해 소량의 리코딩이 필요할 수 있음을 주목해야합니다.