2011-09-08 3 views
1

저는 웹 사이트에 대한 버ull 보드 (또는 포럼)를 구현 중이며 입력 된 데이터 집합과 함께 C# 및 asp.net에서 MVP 패턴을 사용하여 데이터베이스에 연결합니다. 내 문제는 내가 어디에 가능한 오류를 처리하고 들어오는/나가는 데이터의 유효성을 검사해야할지 모르겠다.C# 응용 프로그램의 오류 처리에 문제가 있습니다.

솔루션 1 : 나는 두 가지 솔루션을 함께했다 단지

presenter: 검증 및 오류 모델, 데이터베이스, 뷰에 관련된 처리 발표자하기 위해 데이터를 전달

view: 것은 아무것도하지

model: 아무것도 반환하지 않으면 데이터베이스에서 데이터 또는 오류가 반환됩니다.

솔루션 2 :

view: 검증 및 오류가

presenter: 바로 중재자에게이 될 아무것도하지 않고 페이지와 사용자 입력에 관한 핸들링

model: 검증 및 오류 데이터베이스 관련 처리 및 model`

그래서 어떤 솔루션이 더 나은 접근 방법입니까 ??

답변

1

개인적으로

보기 위해 두 번째 솔루션을 서 woulds : 페이지 및 사용자 입력

에 관한 검증 및 오류 처리. 단순한 (즉, 입력 오류) 사용자에게 즉각적인 피드백을 제공하는 것이 중요하므로 모델 응답을 기다리지 않게하십시오. 대부분의 시간은 사용자들이 데이터를 전송하면 상호 작용이 성공을 기대할 수 있도록 내가 절대적으로,보기에 솔루션 2

유효성 검사 가능한 한 많이 권하고 싶습니다

1

. 응용 프로그램에서 다시 유효성을 검사하여 유효하지 않은 요청 및/또는 조작 된 요청을 필터링하고 도메인 관련 규칙을 적용합니다.

MVP는 UI 패턴이므로 모델은 발표자가 조립 한 데이터 컨테이너 일뿐입니다. 도메인 모델, 비즈니스 로직, 데이터베이스 액세스 및 궁극적 인 유효성 검사는 응용 프로그램 자체의 MVP 기반 UI 레이어 아래에 있어야합니다.

+0

답장을 보내 주셔서 감사합니다.하지만 "궁극적 인 유효성 검사는 응용 프로그램 자체의 MVP 기반 UI 레이어 아래에 있어야합니다"라는 것이 무슨 뜻인지 이해하지 못합니다. 내가 다른 응용 프로그램을 만들어야한다는 것을 의미합니까 ?? – jim

+0

MVP는 사용자 인터페이스 계층의 패턴입니다. 응용 프로그램, 도메인 또는 데이터 액세스 계층과는 아무런 관련이 없습니다. MVP의 모델은 특정 뷰에 대한 모델이 아닙니다. 도메인 모델이 아닙니다. –

+0

음 mvp가 응용 프로그램이므로 계층화 된 응용 프로그램을 만들지 않습니다. 하지만 mvp가 UI 패턴 인 이유는 무엇입니까 ?? UI가 데이터베이스에 연결된 모델과 어떤 관계가 있습니까? – jim

관련 문제