An object-oriented program consists of several packages (namespaces). A package contains classes and subpackages. A class contains methods, variables, and inner-classes. We can use the Composite Design Pattern twice to modelprograms: