Please note that the content of this book primarily consists of articles available from Wikipedia or other free sources online. An object oriented design ontology is a hierarchical structure of design constructs. Possible constructs that may be included within an object oriented design ontology are: Design patterns; Design principles; Design heuristics; It also describes the various relations that may exist amongst these constructs. There may also be specific meta data attached to a construct. The intention for this is to provide part of a larger ontology for programming and engineering. There are also a number of general design ontologies.