User:GunnarBear0875/Schizophrenia (object-oriented programming)

History and discussion
Herrmann reports that the term was coined by William Harrison, IBM Research, around May 1997 in a set of web pages, which discussed problems incurred by some of the common design patterns (these web pages are no longer publicly available). In the given examples the problem was aggravated by the fact that typical solutions would use a weaker form of delegation (sometimes called forwarding) where knowledge about the original receiver object is actually lost during delegation. Here the use of forwarding is owed to the fact that most mainstream object-oriented programming languages do not support the stronger form of delegation. Harrison et al proposed subject-oriented programming as a solution, which by static composition avoids any issues of object schizophrenia. On the other end of the spectrum, Herrmann shows that a language featuring contextual roles can be designed in such a way that potential problems of object schizophrenia are essentially irrelevant despite using delegation as a means to share behavior between a role objectand its associated base object.