This book contains a patterns catalog which is
a number of design patterns classified by purpose. And
there are five main classes of patterns. There are
fundamental patterns which are the basic patterns. There are
creational patterns which are the patterns that support object
creation. Then there are structural patterns and these are
patterns that help compose objects, put objects together. The
next class of patterns are behavioral patterns and these
are patterns that are mostly focused on realizing interactions
among different objects. Finally, there are concurrency patterns and these
are patterns that support, as the name says, concurrency, so
they're more related to concurrency aspects. And for each of
these classes there are a number of specific patterns, and
here I'm just listing some of them. Clearly we cannot
cover in one lesson all of these patterns, but what
I want to do is to cover at least a few
of those to give an idea of what patterns are and
how they can be used. In particular, we will see in
detail the Factory Method Pattern and the Strategy Pattern. And we
will also discuss a few more patterns at a higher level.