mvc 컨트롤러 예제

컨트롤러는 기본 제공 컨트롤러 기본 클래스인 System.Web.Mvc.Controller에서 상속되는 C# 클래스입니다. 컨트롤러의 각 공용 메서드는 작업 메서드라고 하며, 이는 일부 URL을 통해 웹에서 호출하여 작업을 수행할 수 있다는 것을 의미합니다. 대부분의 경우 컨트롤러 작업은 ViewResult를 반환합니다. 예를 들어 목록 2의 인덱스 컨트롤러 작업은 ViewResult를 반환합니다. 위에서 볼 수 있듯이 StudentController 클래스는 Controller 클래스에서 파생됩니다. MVC의 모든 컨트롤러는 이 추상 컨트롤러 클래스에서 파생되어야 합니다. 이 기본 Controller 클래스에는 다양한 용도로 사용할 수 있는 도우미 메서드가 포함되어 있습니다. 당신이 볼 수 있듯이, 모델 코드는 불쾌한 설정하기 시작했다. 프로젝트 관리자가 “다른 GUI 도구 키트를 사용하여 앱을 플랫폼으로 이식하고 있다”고 말하면 유쾌함이 더욱 두드러지기도 합니다. MVC를 사용하면 Person 클래스를 수정하지 않고 다른 GUI 도구 키트로 표시할 수 있습니다. 이전 툴킷과 마찬가지로 새 툴킷으로 컨트롤러와 뷰를 만드십시오.

MVC가 없으면 여러 GUI 도구 키트를 지원하는 것은 악몽입니다. 코드는 뷰의 요청에 응답하고 컨트롤러의 지침에 응답하여 자체적으로 업데이트할 수 있습니다. 또한 데이터 유지 관리를 담당하는 패턴의 가장 낮은 수준이기도 합니다. 모델 뷰 컨트롤러 패턴 FAQ: MVC 개체의 몇 가지 예와 정의를 제공할 수 있습니까? 위의 예제에서는 MVC의 주요 장점인 모델을 재사용할 수도 있습니다. 뷰에 한 가지 유형의 모델 개체만 표시되면 뷰와 컨트롤러를 결합해도 괜찮습니다. 예를 들어 SinglePersonView는 사람 개체만 표시되므로 SinglePersonView를 컨트롤러로 두 배로 늘릴 수 있습니다. IController를 전달하도록 일부 이벤트에 대한 알림을 제공해야 하는 경우를 제외하고는 이 뷰는 컨트롤러에 대해 알 수 없습니다. IController를 통해 컨트롤러에서 이벤트 처리기를 호출합니다. 모델은 데이터를 나타내며 다른 것은 없습니다. 모델은 컨트롤러 또는 뷰에 종속되지 않습니다. DemoModel 개체에는 점 배열과 색상을 저장하기 위한 인스턴스 변수가 있습니다.

[점 오브젝트에는 직접 액세스할 수 있는 인스턴스 변수 x와 y(예: point.x 및 point.y.) 데모 모델은 포인트와 색상을 업데이트하고 액세스하는 방법도 있습니다. 이 구현에는 해결해야 할 몇 가지 심각한 단점이 있습니다. 예를 들어 고정 크기 포인트 배열 대신 ArrayList 사용하는 것이 좋습니다. 모델 구성 요소는 데이터와 관련 논리를 저장합니다. It이 컨트롤러 구성 요소 또는 기타 관련 비즈니스 논리 간에 전송되는 데이터를 나타냅니다. 예를 들어 Controller 개체는 데이터베이스에서 고객 정보를 검색합니다. 데이터를 조작하고 데이터베이스로 다시 보내거나 동일한 데이터를 렌더링하는 데 사용합니다. 요컨대, 사물을 보는 방식, 뷰 및 컨트롤러 개체는 각 인터페이스 유형(및 기술)에 특별히 작성되며 일반적으로 인터페이스 간에 재사용할 수 없습니다.

다른 보기는 다른 기술과 아마도 다른 언어를 사용하여 명확하게 작성되므로 98 %의 시간이 재사용되지 않을 것입니다. 컨트롤러를 “코디네이터”로 생각할 때 특정 유형의 시스템(웹 앱, 모바일 앱, GUI 앱, 웹 서비스)과 사용자의 상호 작용을 조정하고 있으며, 다시 한 번 각 상호 작용의 단계는 매우 다르며 그렇지 않습니다. 재사용 가능한.