Saturday, October 17, 2009

OPL Pipes & Filters

The OPL version of the Pipes & Filters pattern is definitely simpler and easier to understand than the previous description.  Part of this is due to the fewer detailed examples.  The first presentation of this pattern uses a rather complex example of building a programming language, which in my opinion clutters the essence of the pattern.  The few short examples in OPL, presented *after* we understand the pattern to a large degree, provide enough detail to grasp the purpose and types of applications for this pattern, and I believe that this is the extent of what a pattern should be--it's not supposed to be an exhaustive reference for the entire body of knowledge relating to the subject, but rather concise enough to be "thumbed through" when searching for a pattern to fit a design need.

The OPL pattern ignores the detail of "push" vs. "pull" pipelines, which in my opinion is bordering on being too implementation specific to be included in the high level pattern.  It excels, however, at describing how the granularity of pipe data should be managed to exploit optimal buffering and potentially, concurrency.

No comments:

Post a Comment