( persicsb | 2016. 03. 20., v – 14:02 )

"Szóval, a kérdés az, hogy mi van akkor, ha egy olyan pdf-et kell generálnunk, amiben mondjuk Car és Person is szerepel. Annak a generálását hova raknátok?"

Szerintem ezt te is tudod, csak nem mondtad ki: mivel single responsibility van, ezért ennek egy külön osztály kell:
egy olyan PDFReport interfész implementáció, ami ezt a PDF-et generálja.

A PDF generálás nem tartozik sem a Car, sem a Person osztályhoz: hiszen a PDF generálás csak akkor kell, hogy módosuljon, ha maga a report specifikációja módosul. Ha maga a Person és a Car visszafelé kompatibilis módon változik, attól még a Car+Person PDF reportot készítő class nem szabad, hogy módosuljon. Épp ezért ez egy külön osztály.