"Pro ASP.NET MVC 2 Framework"을 참조하십시오. ActionResult는 명령 패턴을 구현 한 것입니다. 패턴이 어떻게 구현되는지 알고 싶습니다. 빛 좀 보냅시다.ASP.NET MVC의 ActionResult가 명령 패턴을 구현하는 방법
감사합니다.
"Pro ASP.NET MVC 2 Framework"을 참조하십시오. ActionResult는 명령 패턴을 구현 한 것입니다. 패턴이 어떻게 구현되는지 알고 싶습니다. 빛 좀 보냅시다.ASP.NET MVC의 ActionResult가 명령 패턴을 구현하는 방법
감사합니다.
조치 메소드는 프레임 워크가 다음에 수행해야하는 명령을 구현하는 인스턴스를 리턴합니다. 이것은 액션 메소드 내에서가 아니라 액션 메소드가 완료 될 때까지 프레임 워크/파이프 라인 코드의 실행을 지연시키는 수단을 제공합니다.
ActionResult는 모든 명령 패턴의 구현이되지 않습니다 :
과 ActionResult 추상 클래스로 표현이 명령은 ViewResult
및 JsonResult
콘크리트 명령에 의해 구현되는 ExecuteResult 방법 민병대. 컨트롤러의 액션은 명령에 가장 가깝고 ActionResult는 일반적으로보기의 변경 사항입니다. 이 명령은 모델을 업데이트하지만 ActionResults는 모델을 업데이트하지 않습니다.
ActionFilter를 사용하고 동작, 컨트롤러 이름 및 매개 변수를 기록에 저장하여 MVC에서 명령 패턴을 구현했습니다 (예 : List <>). 하나의 컨트롤러는 실행 취소 및 다시 실행을 구현했으며 다른 모든 컨트롤러는 모든 작업 앞에 Do_ 및 Undo_ 접두어가 붙는 규칙을 따릅니다. 또는 추가 bool을 전달할 수 있습니까? 매개 변수 실행 취소.
MVC에서 Command를 수행하는 데는 여러 가지 방법이 있지만 ActionResult와는 아무런 관련이 없습니다.
실행을 지연시키는 것 외에 다른 이점이 있습니까? – Ricky
@Ricky, 실행을 지연시키는 것이 [명령 패턴] (http://en.wikipedia.org/wiki/Command_pattern)의 기본 개념입니다. * 객체 지향 프로그래밍에서 명령 패턴은 객체는 나중에 메소드를 호출하는 데 필요한 모든 정보를 표현하고 캡슐화하는 데 사용됩니다. –
@Dimitrow : 귀하의 참조를 감사하십시오 – Ricky