23.07.2012 Views

Design Patterns Explained

Design Patterns Explained

Design Patterns Explained

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CHAPTER 3<br />

A Problem That Cries Out for<br />

Flexible Code<br />

Overview<br />

This chapter gives an overview of a problem we want to solve:<br />

extracting information from a large CAD/CAM database to feed a<br />

complex and expensive analysis program. Because the CAD/CAM<br />

system continues to evolve, the problem cries out for flexible code.<br />

In this chapter, I give an overview of the CAD/CAM problem, the<br />

vocabulary of the domain, and important features of the problem.<br />

Extracting Information from<br />

a CAD/CAM System<br />

I am now going to review a past design of mine that got me on the<br />

road to the insights contained in this book.<br />

I was supporting a design center in which engineers used a CAD/<br />

CAM system to make drawings of sheet metal parts. An example of<br />

one of these parts is shown in Figure 3-1.<br />

My problem was to write a computer tool to extract information<br />

from the CAD/CAM system so that an expert system could use it in a<br />

particular way. The expert system needed this information in order<br />

to conrol the manufacturing of the part. Since the expert system was<br />

complex to modify and would have a longer life than the current<br />

version of the CAD/CAM system, I wanted to write the<br />

information-extracting tool so that it could easily be adapted to new<br />

revisions of the CAD/CAM system.<br />

In this chapter<br />

The problem: extract<br />

information for an<br />

expert system<br />

45

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!