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
