1. A set of interfaces and abstract classes which define a commonly used set of facilities and services.
2. A set of classes implementing the most used subset of facilities and services.
1. The methods of the implementing classes are invoked by applications to utilize specific services.
2. The abstract classes are used as foundations and building blocks for extended and specialized implementations of the interfaces.