Was sind (konkrete) Anwendungsfälle für Metaklassen?

Ich habe einen Freund, der gerne Metaklassen, und regelmäßig bietet Ihnen eine Lösung.

Ich bin der Meinung, dass man fast nie verwenden müssen Metaklassen. Warum? weil ich denke, wenn Sie etwas wie, dass die Klasse, die sollten Sie vielleicht machen es zu einem Objekt. Und ein kleines redesign/Refactoring ist in Ordnung.

Nutzen zu können Metaklassen verursacht hat viele Menschen in eine Menge von Orten, die die Verwendung von Klassen als eine Art zweite rate-Objekt, das scheint nur katastrophal für mich. Ist die Programmierung ersetzt werden durch meta-Programmierung? Der Zusatz class decorators hat leider schafften es sogar noch akzeptabel.

Also bitte, ich bin verzweifelt, zu wissen, Ihren gültigen (Beton) Anwendungsfall für Metaklassen in Python. Oder erleuchtet zu werden, warum mutierend Klassen besser ist als mutierend Objekte, manchmal in.

Werde ich beginnen:

Manchmal, wenn ein Fremdanbieter-
Bibliothek es ist nützlich, zu können
mutieren Sie die Klasse in einer bestimmten Weise.

(Dies ist der einzige Fall, an den ich denken kann, und es ist nicht Beton)

InformationsquelleAutor der Frage Ali Afshar | 2008-12-24

Schreibe einen Kommentar