MVP (ASP .NET Model View Presenter) 패턴과 [WebMethod]로 표시된 정적 페이지 메소드를 어떻게 통합합니까?

StackOverflow https://stackoverflow.com/questions/141104

  •  02-07-2019
  •  | 
  •  

문제

ASP.NET 응용 프로그램에서 WCSF (WebClient Software Factory)와 관련 모델보기 발표 패턴 (MVP)의 사용과 페이지 메소드와 함께 [WebMethod] 속성.

그러나 ASPX 페이지의 정적 메소드는 인스턴스 메소드가 페이지에서 인스턴스와 대화하는 데 필요한 발표자와 컨트롤러의 컨텍스트를 갖기 위해 필요한 모델보기 발표 패턴을 깨뜨리는 것처럼 보입니다.

WCSF에서 확장 된 ASP .NET의 MVP 패턴은 페이지에서 [webMethods]를 지원하기 위해 어떻게 뷰를 뷰에서 지원합니까?

도움이 되었습니까?

해결책

최근 MVP 패턴 프로젝트를 수행하고 많은 Ajax 통합을 원할 때 비슷한 문제가있었습니다. 당신은 당신이 호출하는 MVP 패턴을 준수하는 웹 서비스를 갖는 것이 가장 좋습니다.

Pagemethod는 현재 페이지에있는 웹 서비스에 지나지 않습니다. 페이지 수준 객체에 액세스 할 수 없으므로 최소화하는 장점이 있습니다. 나는 실제로 그들이 불리하다고 생각합니다. 그들은 개발자 (개념에 익숙하지 않은 사람)에게 페이지 수준 객체와 상호 작용할 수 있다는 아이디어를 제공합니다.

동전의 플립 측은 페이지 메소드가 모델과 상호 작용할 필요가 없다면 (예 : JS보다 C#/vb.net에서 더 빠른 복잡한 산술 계산을 처리하는 경우) 작업은 다음과 같습니다. 실제로 UI 레벨 작동이며 앱을 WinForm (또는 다른 것)으로 바꾸려는 경우에는 아마도 관련이 있습니다.

UI 수준의 데이터와의 모든 상호 작용은 해당 UI 구현에만 적합합니다. 발표자를 위해 다른 UI를 작성하려면 UI 수준의 데이터 상호 작용이 다를 가능성이 있습니다.

다른 팁

정적 페이지 방법 대신 ASP.NET AJAX 웹 서비스를 사용하여 원하는 것에 가까이 올 수 있다고 생각합니다. 웹 서비스는 정적이지 않다는 장점이 있으며, 뷰가 구현되는 방식에 따라 (WCSF MVP 패턴의 세부 사항에 익숙하지 않음) 잠재적으로 웹 서비스를 "보기"레이어로 만들 수 있습니다 .. 또는 적어도 상당히 가까운 것.

나는 내가 일하고있는 프로젝트에서 비슷한 일을했다. 결국 웹 서비스에 의해 JSON에 직렬화되어 모델에서 "보기"로 데이터를 전달하기 위해 얇은 데이터 전용 클래스를 만들어야했지만 웹 서비스는 본질적으로 이벤트와 노출되는 동일한 방법을 가졌습니다. 보기.

이 접근법에 대해 내가 좋아했던 것 중 하나는 웹 서비스를 포함한 모든 비트가 테스트 가능하다는 것입니다.

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