Bridged painting

For a demonstration of the bridge pattern, let's look at a simple hierarchy of shape objects. The project is called Bridge and you'll find it in the folder Bridge. The unit Shapes.Abstraction contains the following hierarchy of classes:

type  TShape = class  end;  TRectangle = class(TShape)  end;  TTriangle = class(TShape)  end;

For demonstration purposes, we want to implement support for two very different display types: a Graphical User Interface (GUI) and a console text mode (ASCII). If we don't use the bridge interface, we need to implement four more classes:

type  TGUIRectangle = class(TRectangle)  end;   TASCIIRectangle = class(TRectangle)  end;   TGUITriangle = class(TTriangle)  end;   TASCIITriangle = class(TTriangle)  end; 

Get Hands-On Design Patterns with Delphi now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.