2009-06-05 3 views
1

ASP .NET Webform에서 상태 디자인 패턴을 구현하려고합니다.상태 디자인 패턴 - ASP .NET Webform

상태는 페이지에 전달 된 쿼리 문자열에 의해 결정됩니다. 페이지의 상태에 따라 임의의 동작이 구체적인 구현에서 메서드를 호출합니다.

내가 달성하고자하는 것은 동일한 일반 기능의 여러 구현을 처리 할 수있는 페이지입니다.

내 질문은 : 이 작품은 사용할 수 있습니까? 이 방법이 올바른 접근 방식입니까?

+0

@ Dan 질문에 대한 답변을 얻었습니까? –

답변

0

나는 당신이 건전한 접근 방법이라고 생각합니다. 제가 제공 할 수있는 유일한 충고는 State Pattern을 완벽하게 구현하지 않아야한다는 것입니다. 난 그냥 쿼리 문자열 값을 기반으로 메서드를 호출하는 스위치를 가지고 완벽하게 될 것이라고 생각합니다.

2

상태 패턴을 사용하는 것이 취할 수있는 접근 방법이지만 솔직히 설명하는 것이 MVC 프레임 워크의 목표 중 일부입니다.

편집 :
MVP/MVC

여기에 설명 된대로 MVC 프레임 워크는 다음 내가 수동보기 접근 또는 superviser 접근 방식 중 하나를 가진 모델보기 발표자 패턴 (MVP)를 살펴 것이다 옵션을 선택하지 않습니다 때문에

: http://www.martinfowler.com/eaaDev/SupervisingPresenter.html

패시브 뷰 접근법은 우리의 기존 코드가 우리를 위해 잘 작동하도록 약간의 수정으로 작업 한 것으로 나타났습니다.

편집 : 패턴 : 당신이 정말로 선택 패턴 그 경우

는 비즈니스 요구 사항이 무엇인지에 따라 달라집니다.

주 패턴 :

주 패턴은 일반적으로 당신이 현재 상태 또는 객체에 대한 관계의 상태에 따라 객체의 동작을 변경해야하는 경우에 사용됩니다. 이 패턴의 일반적인 사용법은 객체의 동작이 어떤 마우스 커서 버튼을 눌렀는지에 따라 달라지는 게임과 관련됩니다.

http://en.wikipedia.org/wiki/State_pattern

전략 패턴 :

이 패턴은 당신이 구성에 따라 서로 다른 구현을 필요로 할 때 좋습니다. 예를 들어 전자 메일 시스템을 정의하고 있으며 전자 메일 공급자가 어떤 전자 메일을 보내는 데 사용되는지에 따라 다른 구현을해야한다고 가정 해보십시오.

http://en.wikipedia.org/wiki/Strategy_pattern

그래서 주 패턴의 definetly 권리 그냥 목적이 무엇인지에 내려 오는 방향이 될 수있는 것을 행동의 당신의 만족하려고합니다.

패턴을 자주 사용하면 서로 잘 작동하고 여러 패턴을 서로 결합하여 사용하게됩니다.

+0

MVC는 나를위한 선택 사항이 아닙니다.이 코드를 기존 코드 기반에 맞춰야합니다. – Dan

+0

어떤 종류의 임 플리 멘 테이션을보고 있습니까? 발표자보기에서 더 많은 것을보고 있습니까? –

+0

David, MVP/MVC 패턴 또는 그 패턴의 편차에 동의합니다. 아마도 당신이 가야 할 방법 일 것입니다. – CodeLikeBeaker