문제

최근에 MVC (Model View Controller)라는 용어가 최근에 많은 윙윙 거리는 소리를 들었지만 실제로는 무엇입니까?

도움이 되었습니까?

해결책

Martin Fowler가 MVC, MVP 및 UI 아키텍처에 대해 일반적으로 말하는 것을 살펴 보는 것입니다. 마틴 파울러 사이트.

다른 팁

좋아요 이 기사 Martin Fowler. MVC가 실제로 Rich UI 프로그래밍의 원래 영역에서 실제로 다소 죽었습니다. View와 Controller의 구별은 대부분의 최신 UI 툴킷에 적용되지 않습니다.

이 용어는 최근 웹 프로그래밍 서클에서 새로운 삶을 발견 한 것으로 보입니다. 그래도 그것이 진정으로 MVC인지 또는 밀접하게 관련이 있지만 미묘하게 다른 아이디어에 대한 이름을 재사용하는지 확실하지 않습니다.

MVC는 원래 Smalltalk의 옛날에 개척 된 디자인 패턴입니다.

개념은 모델이 응용 프로그램 상태와 논리를 나타내며 컨트롤러는 "보기"사이의 IO를 처리한다는 것입니다.

견해는 모델에서 상태의 표현이었습니다. 예를 들어, 모델은 스프레드 시트 문서 일 수 있으며 스프레드 시트로 나타내는 뷰와 피벗 테이블로 표시되는보기가있을 수 있습니다.

Modern MVC는 가짜 MVC 웹 정크로 오염되어 있었으므로 다른 사람들이 대답하게하겠습니다.

질문의 태그가 디자인 패턴을 나타냅니다. 그러나 그것은 아마도 당신을 도와주지 않을 것입니다. 기본적으로, 코드를 다양한 조각을 분리하고 쉽게 수정할 수있는 논리적 그룹으로 구성하는 방법입니다.

단순화 : 모델 = 데이터 구조 / 비즈니스 로직 뷰 = 출력 계층 (예 : HTML 코드) 컨트롤러 = 메시지 전송 계층

따라서 사람들이 MVC에 대해 이야기 할 때 그들이 말하는 내용은이 논리적 그룹으로 코드를 나누고 깨끗하고 구조화하고 희망적으로 느슨하게 결합합니다. 이 설계 패턴을 따르면 컨트롤러 나 모델을 터치하지 않고도 다른 것으로보기가 완전히 변경 될 수있는 응용 프로그램을 구축 할 수 있어야합니다 (즉, HTML에서 RSS로 전환).

Google에 대한 톤과 톤의 자습서가 있으며, 클릭하는 용어로 설명 할 적어도 하나 이상을 올릴 것이라고 확신합니다.

다음은 MVC에 대한 순진한 설명입니다. http://www.devcodenote.com/2015/04/mvc-model-view-controller.html

스 니펫 :

정의 : 응용 프로그램을 여러 레이어의 기능으로 분리하는 설계 패턴입니다.

레이어 :

모델은 데이터를 나타냅니다. 데이터베이스와 응용 프로그램 사이의 인터페이스 역할을합니다 (데이터 개체). 유효성 검사, 협회, 거래 등을 처리합니다.

컨트롤러 데이터를 수집하고 처리합니다. 데이터 선택 및 데이터 메시징을 수행하는 코드를 처리합니다.

보기 사용자에게 출력 표시가 표시됩니다.

Wikipedia는 지금까지 가장 잘 설명하는 것 같습니다.

http://en.wikipedia.org/wiki/model-view-controller

MVC (Model-View-Controller)는 소프트웨어 엔지니어링에 사용되는 아키텍처 패턴입니다. 패턴의 성공적인 사용은 사용자 인터페이스 고려 사항에서 비즈니스 로직을 분리하여 응용 프로그램의 시각적 모양을 쉽게 수정하거나 다른 사람에게 영향을 미치지 않고 기본 비즈니스 규칙을 쉽게 수정할 수있는 응용 프로그램이 발생합니다. MVC에서 모델은 응용 프로그램의 정보 (데이터)를 나타내며 데이터를 조작하는 데 사용되는 비즈니스 규칙을 나타냅니다. 보기는 텍스트, 확인란 항목 등과 같은 사용자 인터페이스의 요소에 해당합니다. 컨트롤러는 키 스트로크 및 마우스 움직임과 같은 사용자 작업 모델과의 통신과 관련된 세부 사항을 관리합니다.

MVC 또는 Model-View-Controller 사용자 인터페이스 패러다임은 Xerox Parc의 TryGve Reenskaug에 의해 처음 설명되었습니다. 1981 년 8 월에 Byte Magazine 6, Number 8에서 처음으로 출연했습니다.

이것 MVC는 무엇입니까? Oreilly의 블로그 기사가 당신을 다루었습니다.

MVC는 표현을 사용자 상호 작용과 분리하는 소프트웨어 아키텍처 패턴입니다. 일반적으로 모델은 응용 프로그램 데이터 및 기능과 상호 작용하는 기능으로 구성되며보기는이 데이터를 사용자에게 제시합니다. 컨트롤러는 둘 사이를 중재합니다.

MVC 설계 패턴 :

4 파트 = 사용자,보기, 컨트롤러, 모델.

사용자 : - 뷰를보고 컨트롤러를 사용합니다.

모델 : - 데이터를 보유하고 새로운 데이터/상태가있는 모델을 업데이트합니다.

보기 : - 모델이 가지고있는 데이터를 표시합니다.

컨트롤러 : - 정보를 얻거나 설정하려면 사용자의 요청을 가져온 다음보기 또는 모델과 통신합니다. -보기를 통해 "얻습니다". - 모델을 통해 "설정"합니다.

응용 프로그램의 기본 기능 (모델)을 사용자와 상호 작용하는 방식으로부터 분리하는 방법입니다 (보기). 컨트롤러는 모델과보기가 서로 대화하는 방법을 조정합니다.

현재 모든 분노이지만, 모델 자체가 데이터 자체가 데이터를 어떻게 제시하는지 정확하게 결정할 수 있다는 것을 기억하는 것이 중요합니다. 가장 분명한 예는 HTML입니다. HTML의 원래 의도는 컨트롤러 (브라우저)를 통해 뷰 (렌더링 된 웹 페이지)에서 모델 (HTML)을 명확하게 분리해야한다는 것입니다. 이 원래 의도에 대한 반발이 있었는데, 브라우저는 페이지 픽셀을 디자이너의 원하는보기에 완벽하게 만들지 않으면 브라우저가 비판을받습니다.

MVC는 사용자 인터페이스 요소를 3 가지 개념으로 분할하는 방법입니다. 모델은 인터페이스가 작동하는 데이터입니다. 보기는 요소가 시각적으로 (또는 청각 적으로) 어떻게 표현되는지입니다. 컨트롤러는 데이터에서 작동하는 논리입니다.

예를 들어, 텍스트가있는 경우 UI에서 조작하려는 것입니다. 간단한 문자열은 데이터를 나타낼 수 있습니다. 보기는 텍스트 필드 일 수 있습니다. 컨트롤러는 사용자의 입력을 변환하는 논리 (문자 또는 마우스 입력을 말하고 기본 데이터 모델을 변경하는 논리입니다.

많은 사람들이 이미 말했듯이 MVC는 디자인 패턴입니다. 나는 지금 내 동료 중 한 명을 가르치고 있으며 이런 식으로 설명했다.

Odels- 데이터 액세스 계층. 직접 데이터 액세스, 웹 서비스 등이 될 수 있습니다.

VIEWS- 응용 프로그램의 프리젠 테이션 계층.

ONTROLLERS- 이것은 응용 프로그램의 비즈니스 논리입니다.

이 패턴은 테스트 중심 개발을 향상시킵니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top