Mal vorweg: unabhängig von den aktuellen Meldungen um LulzSec und co empfinde ich persönlich Hacker als Beleidigung (mag damit zusammenhängen, dass mein Info Lehrer damals im Grundkurs Informatik uns immer so genannt hat, wenn wir ohne was aufs Papier zu schreiben die - natürlich simple - Lösung gleich runtercodiert haben)
Ich habe übrigens nicht nur den Thread Titel gelesen, sondern auch den ganzen Post.
Dementsprechend ist die Nutzung der
RTTI und/oder des ISerializable (oder wie du es auch sonst nennen willst) Interfaces für Standard und benutzerdefinierte Serialisierung durchaus eine Designentscheidung und hat erstmal nix mit der Implementierung zu tun.
Um dein Beispiel von dem Haus und dem Kuchen nochmal aufzugreifen, käme das Konzept über
RTTI/Attribute der Bereitstellung eines Bauplans/Rezepts gleich, die diese Klasse gleich mitliefert aber dennnoch nichts direkt mit der Implementierung zu tun hat (in dem Programm, wo man keine Serialisierung braucht, kann man die
RTTI auch ausschalten, wenn man mag).
Kritisch sehe ich ähnlich wie du im Sinne der Trennung die Implementierung des Interfaces, denn dann hast du wieder eine Abhängigkeit und sei es auch nur auf ein ISerializer, IExporter oder wie auch immer.