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