c# mvc 패턴 예제 속시원내과 | 2019년 8월 2일

StudentController 메서드를 사용하여 MVC 디자인 패턴 사용을 보여 줍니다. 이 디자인 패턴은 실제로 모델 및 뷰를 나타내는 2개의 인터페이스로 시작합니다. 그러나 뷰는 모델과 통신할 수 있어야 하고 모델은 뷰와 통신할 수 있어야 하므로 통신할 수 있도록 2개의 어댑터 인터페이스가 더 필요합니다. 대부분의 장면에서 뷰는 다른 방향에 대한 기능도 여전히 허용하지만 모델과 통신합니다(반대가 아님). Model-View-Controller는 데이터(모델) 및 사용자 인터페이스(보기) 문제를 분리하는 문제를 해결하기 위해 잘 입증된 디자인 패턴으로, 사용자 인터페이스의 변경이 데이터 처리에 영향을 미치지 않으며 영향을 주지 않고 데이터를 변경할 수 있음/ UI를 변경합니다. MVC는 중간 구성 요소인 컨트롤러를 도입하여 UI 및 사용자 상호 작용에서 데이터 액세스 및 비즈니스 논리 계층을 분리하여 이 문제를 해결합니다. 이 MVC 아키텍처를 사용하면 유연한 프로그램 설계 내에서 재사용 가능한 구성 요소를 만들 수 있습니다 (구성 요소를 쉽게 수정할 수 있음) C # ASP .NET 웹 응용 프로그램에서 모델 뷰 컨트롤러 디자인 패턴의 전원이 어떻게 많은 것을 제공 할 수 있는지 볼 수 있습니다. loosley 결합 연결에 대한 기능. 콘솔 텍스트에서 그래픽 또는 웹 브라우저로 사용자 인터페이스 보기를 변경했다고 가정해 보입니다. 모델 데이터 처리를 문자열에서 XML 또는 데이터베이스로 변경한다고 가정해 보겠습니다. 컨트롤러는 모델과 뷰 사이의 중간 사람으로 간주될 수 있습니다. MVC 디자인 패턴을 사용하면 모델을 뷰에서 완전히 분리할 수 있기 때문에 두 모델이 서로 통신하기 위해서는 중개자가 필요합니다. 이것은 컨트롤러의 작업입니다.

컨트롤러는 실제로 모델 및 뷰의 인터페이스를 보유하므로 각 함수의 필수 함수를 호출할 수 있습니다. 웹 사이트에 대한 MVC 패턴을 사용하여 요청은 작업을 수행하거나 데이터를 검색하기 위해 모델과 함께 작업하는 컨트롤러로 라우팅됩니다. 컨트롤러는 표시할 뷰를 선택하고 모델과 함께 제공합니다. 뷰는 모델의 데이터를 기반으로 최종 페이지를 렌더링합니다. 마지막으로 URL(예: http://localhost)을 제공하지 않고 ASP.NET MVC 응용 프로그램을 열면 URL이 다음과 같이 구문 분석됩니다. 열심히 작업한 코드를 다시 사용하십시오. 이를 위해 MVC 패턴을 사용하여 “클래스가 아닌 인터페이스로 프로그래밍”이라는 일반적인 원칙을 따릅니다. 우리의 사명, 우리가 그것을 받아들이기로 결정한다면… 우리는 ACME 2000 스포츠카 사업 대상을 구축하기 위해 의뢰를 받았으며, 우리의 임무는 (1) 차량의 현재 방향과 속도를 표시하는 간단한 윈도우 인터페이스를 만들고, (2) 최종 사용자가 방향을 변경하고, 가속하고, 감속할 수 있도록 하는 것입니다. 그리고 물론, 범위 크리프가있을 것입니다. ACME에는 이미 프로젝트가 성공하면 ACME 2 픽업 트럭과 ACME 1 세발 자전거에 대한 유사한 인터페이스를 개발할 필요가 있다는 소문이 있습니다.

개발자로서, 우리는 또한 ACME 관리 팀이 결국 말할 것을 알고 “이봐, 이것은 정말 멋지다. 회사의 인트라넷에서 볼 수 있습니까?” 이 모든 것을 염두에 두고, 우리는 쉽게 확장 할 수있는 제품을 제공하여 얼마 동안 접시에 음식을 먹을 수 있기를 원합니다. 그래서, 우연히, 우리는 생각 … “이것은 MVC를 사용하기에 완벽한 상황입니다!!” 아키텍처 개요 확인, 이제 우리는 우리가 MVC를 사용 하려는 것을 알고, 우리는 도대체 무엇인지 알아낼 필요가. 우리의 연구를 통해 우리는 MVC의 세 부분을 마련: 모델, 제어, 보기. 우리 시스템에서 모델은 우리의 자동차가 될 것이고, 뷰는 사용자 인터페이스가 될 것이고, 컨트롤은 두 가지를 함께 묶는 것입니다. 관찰자 패턴을 구현하려면 모델에 다음 메서드를 추가해야 합니다(뷰에서 “관찰”됨): AddObserver, RemoveObserver 및 NotifyObservers입니다.

Comments are closed.