O’Reilly Network: Design Patterns in Qt by Matthias Kalle Dalheimer

“The so-called GoF book Design Patterns (GoF referring
to the Gang of Four — Erich Gamma, Richard Helm, Ralph Johnson,
and John Vlissides — who authored it) has been very influential in
software development–and rightfully so. Every programmer has read
it or at least claims to have done so. In this article, I will
explore how Design Patterns are used in Qt programming.

Design Patterns are a language-independent way of describing
common patterns that occur again and again in programming. This is
nothing new, patterns have been used for decennies, but the GoF
book deserves the praise to have standardized how to describe
patterns, give frequently used patterns names that developers all
over the world refer to, and finally to have started a whole
movement around patterns where developers identify new patterns and
share them with each other. These names have become so common among
software developers that it is not unusual to see magazine articles
with titles like “How to Implement Observer in Programming Language
X”– it is not necessary to explain that Observer is the name of
such a pattern, catalogized in the GoF book.

But let’s leave the patterns aside for a moment and switch to
Something Completely Different: the C++ GUI toolkit Qt. Qt is
developed and marketed by the Norwegian company Trolltech and is
available for Windows and various Unix dialects (and soon for the
Macintosh). Qt follows the single-source paradigm: A program
written with Qt can be compiled and run on any of the supported
platforms without changes to the source code. Of course, reality
sometimes trips you here, compiler bugs and incompatibilities (did
I hear someone whispering MS Visual C++?) can make small
adaptations necessary, and you cannot use any native API functions
if you want to stay platform-independent. However, Qt still does a
good job helping developers to write portable software. In recent
years, Qt has become famous for forming the base of the KDE desktop
, a free desktop for Unix systems that now is the default graphical
desktop on most Linux distributions. Qt comes with extensive
reference documentation; programmers’ documentation is available by
means of my O’Reilly book Programming with Qt, 2nd Edition.”


Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis