Object Oriented Problem Solving

Divide-and-Conquer is a most powerful technique to solve the problems. Although breaking down an applications into entities and relationships that are meaningful to end users is a common conventional programming analysis technique, OOP adds to decomposition:

  • division into objects; i.e. encapsualted local states and behavior;
  • inheritance for classification of objects;
  • inheritance for realization refinement.
OOP accomodates the usual decompositions:

  • ensemble objects to represent subsystems;
  • class clusters to represent subsystems;
  • a set of classes to represent frameworks.