Непосредственно от статья Strategy Pattern Wikipedia:
стратегическая модель полезна для ситуаций, где необходимо динамично подкачать алгоритмы, используемые в приложении. Стратегическая модель предназначается для обеспечения средства определить семейство алгоритмов, инкапсулировать каждого как объект и сделать их взаимозаменяемыми. Стратегическая модель позволяет алгоритмам варьироваться независимо от клиентов, которые используют их.
Класс BradVin QueryString Builder хорош. Свободный интерфейс и поддержка шифрования.
Также стоит проверить этот класс UrlBuilder на CodeProject. Подобно System.UriBuilder имеет лучшую поддержку для работы с QueryString.
Мы действительно используем наш собственный альтернативный класс Uri, который, как вы говорите, частично основан на Uri. Тем не менее, я думаю, что здесь необходимо сделать важное различие - System.Uri обычно предполагается неизменяемым - или, точнее, вести себя неизменяемым. Как только он появляется, он представляет собой точную универсальную конечную точку местоположения / ресурса. Если вам нужно описать другое местоположение, вы должны создать новый Uri, а не изменять существующий.
Существует отдельный класс, который специализируется на создании Uri: UriBuilder .
Между System.Uri
и System.UriBuilder
, какие именно функции вам не хватает из этих двух?
Я не совсем уверен, что вы пытаетесь сделать (примеры могут помочь), но похоже, что вы пытаетесь получить некоторые функции Apache mod_rewrite в ASP.NET.
Именно об этом есть статья в MSDN .