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� http://www.develop.com
View archives and manage your subscription(s) at http://discuss.develop.com