Every moderately complex program is a collection of many interlocked parts. In Delphi, as in other object—oriented languages, these parts are represented by objects that can cooperate in different ways. They can be tightly connected one object can own others, or they may just cooperate for a short time.
As with every complex system, there's a big chance that it will evolve into a big mess of parts that are connected in random ways without any order and reason. (Sometimes, we affectionately call such a mess a big ball of mud. It is not a pleasant sight.) The patterns in the behavioral group help us to organize objects so that they are tightly coupled where they have to be, can cooperate with each other when the need occurs, and ignore each other in almost all other instances.
In this chapter, you will learn about the...