source of command objects and a series of processing objects. Each processing object contains logic that deﬁnes the types of command objects that it can handle; the rest are passed to the next processing object in the chain.
data and behavior. Usually most of the data in these objects is persistent, responsibility of the Active Record object is to take care of the communication with the database in order to create, update, retrieve or delete the data. It may delegate this responsibility to lower level objects but calls to instance or static methods of the active record object cause the database communication.