Click to open or copy the files for the MFract samples.
The MFract sample uses OLE2's Component Object Model (COM) to provide a mechanism for implementing modular fractal engines.
Each of MFract's fractal engines are implemented as inproc servers that provide a custom interface called IFractalEngine. This allows new fractal engines to be created for MFract without having to modify or recompile the application. In fact, creating a new fractal engine doesn't require that the programmer know anything about Mfract beyond the custom interfaces that it uses.