Шаблон проектирования состояния - ASP .NET Webform - PullRequest
1 голос
/ 05 июня 2009

Я думаю о реализации шаблона проектирования состояний в ASP .NET Webform.

Состояние будет определяться строкой запроса, передаваемой на страницу. В зависимости от состояния страницы любое действие будет вызывать метод конкретной реализации.

Я пытаюсь достичь страницы, которая может обрабатывать любое количество различных реализаций одного и того же общего функционала.

Мои вопросы: Будет ли это работать? Это звучит как правильный подход?

Ответы [ 2 ]

2 голосов
/ 05 июня 2009

Использование шаблона состояний - это подход, который вы можете использовать для этого, но, если честно, то, что вы описываете, является частью того, для чего была разработана инфраструктура MVC.

Edit:
MVP / MVC

Поскольку MVC Framework не является вариантом, я бы взглянул на шаблон Model View Presenter (MVP) с использованием подхода пассивного просмотра или подхода супервизора, как описано здесь: http://www.martinfowler.com/eaaDev/SupervisingPresenter.html

Мы обнаружили, что подход пассивного просмотра работал с небольшой адаптацией для нашего унаследованного кода, чтобы работать хорошо для нас.

Edit: Узоры:

В таком случае, какой шаблон вы выберете, действительно зависит от потребностей бизнеса.

Шаблон состояния:

Шаблон состояния обычно используется, когда вам необходимо изменить поведение объекта на основе его текущего состояния или состояния отношения к объекту. Обычно этот шаблон используется в играх, когда поведение объекта зависит от того, какая кнопка мыши нажата.

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

Шаблон стратегии:

Этот шаблон подходит для случаев, когда вам нужна другая реализация в зависимости от конфигурации. Например, предположим, что вы определяете систему электронной почты, и вам нужно иметь другое значение в зависимости от того, какой поставщик электронной почты используется для отправки электронной почты.

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

Таким образом, модель состояния определенно может быть правильным направлением, оно просто сводится к тому, что является целью и каким поведением вы пытаетесь соответствовать.

То, что вы часто найдете в шаблонах, это то, что они хорошо работают друг с другом, и вы будете использовать несколько шаблонов в сочетании с друг другом.

0 голосов
/ 05 июня 2009

Я думаю, вы предлагаете разумный подход. Единственный совет, который я могу действительно предложить, - это не зацикливаться на идеальной реализации Государственного паттерна. Я думаю, что было бы вполне приемлемо просто иметь переключатель, который вызывает метод, основанный на значении строки запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...