yes. you can use the state pattern to manage what state (distinct xml document) you're in.
further, each state could have an intercepting filter (if you're using multiple handlers to process a request) or a chain of responsibility (if a handler will always be responsible for complete processing) that allows it to determine delegation for processing. if your logic for processing becomes deeper(distinct xml docs now contain other distinct xml docs), these patterns can become composites. i hope this helps / makes sense, -saad --- "Knebels, Francis" <[EMAIL PROTECTED]> wrote: > How about using the State pattern? > > http://www.dofactory.com/Patterns/PatternState.aspx > > > > -----Original Message----- > From: Unmoderated discussion of advanced .NET > topics. > [mailto:[EMAIL PROTECTED] On > Behalf Of Bill Bassler > Sent: Friday, March 25, 2005 1:07 PM > To: [email protected] > Subject: [ADVANCED-DOTNET] Most appropriate design > pattern to use for ... > > > I'm trying to determine the most appropriate design > pattern to implement > for the following problem. > > I'm receiving an xml document whose structure > contains an element defining > a source. Each source's document contains a similar > but distinct xml > document. Each one of the distinct documents > requires a distinct set of > message processing steps. I have implemented the > document specific > processing steps/algorithm using the Strategy > pattern. This works well at > cleanly encapsulating the processing logic. > > The issue I'm trying to solve is - What's the most > appropriate/cleanest way > to inspect the source element in order to route the > xml message to the > appropriate Strategy for processing. Currently I use > a switch statement to > decide the processing. > > e.g. > > switch > (enrollmentDoc.SelectSingleNod("/EnrollForm/Source").InnerXml.ToUpper > ()) > { > case 1: > // Use Strategy 1 > case 2: > // Use Strategy 2 > } > > This works, but I'm looking for something a little > less clunky and > hopefully more modular. I've looked at the Command > pattern ... which seems > to somewhat fit the task. Possibly the Chain of > Command but I don't know > that I need that level of processing flexiblity as > what I need to do can be > encapsulated pretty well in the Strategy. > > =================================== > This list is hosted by DevelopMentor(r) > http://www.develop.com > > View archives and manage your subscription(s) at > http://discuss.develop.com > > > > > > ------------------------------------------------------------------------------ > Notice: This e-mail message, together with any > attachments, contains information of Merck & Co., > Inc. (One Merck Drive, Whitehouse Station, New > Jersey, USA 08889), and/or its affiliates (which may > be known outside the United States as Merck Frosst, > Merck Sharp & Dohme or MSD and in Japan, as Banyu) > that may be confidential, proprietary copyrighted > and/or legally privileged. It is intended solely for > the use of the individual or entity named on this > message. If you are not the intended recipient, and > have received this message in error, please notify > us immediately by reply e-mail and then delete it > from your system. > ------------------------------------------------------------------------------ > > =================================== > This list is hosted by DevelopMentor� > http://www.develop.com > > View archives and manage your subscription(s) at > http://discuss.develop.com > __________________________________ Do you Yahoo!? Yahoo! Mail - now with 250MB free storage. Learn more. http://info.mail.yahoo.com/mail_250 =================================== This list is hosted by DevelopMentor� http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com
