Es gibt keine endgültige richtigen Weg, weil so viele Menschen so viele verschiedene Dinge tun .. Es gibt viele nützliche Muster.
Crockford schlägt vor, dass Sie "mit dem Korn gehen", oder schreiben Sie Javascript in einer Weise, die der prototypischen Natur des Javascript entspricht.
Natürlich fährt er fort zu zeigen, dass das ursprüngliche Modell, das Netscape vorgeschlagen hat, tatsächlich gebrochen ist. Er bezeichnet es als "pseudoklassisch" und weist auf die Irreführung und die unnötige Komplexität hin, die mit diesem Modell einhergehen.
Er schrieb die "Objekt" -Funktion als Abhilfe (jetzt bekannt als Object.create()). Es erlaubt einige sehr leistungsfähige prototypische Muster.
Es ist nicht immer einfach, ein sauberes Interface zu entwickeln, wenn Sie mit altem JavaScript arbeiten müssen, insbesondere nicht bei großen Systemen, die normalerweise mehrere Bibliotheken enthalten und jeweils einen einzigartigen Stil und ein anderes Vererbungsmuster implementieren. Im Allgemeinen würde ich sagen, dass der "richtige Weg" zur Vererbung derjenige ist, der Ihnen erlaubt, eine saubere Schnittstelle zu schreiben, die sich gut im Kontext Ihres Legacy-Codes verhält, aber auch alte Abhängigkeiten im Laufe der Zeit umgestalten und eliminieren kann .
Unter Berücksichtigung der Unterschiede zwischen den Hauptbibliotheksmustern habe ich festgestellt, dass der erfolgreichste Weg in meiner eigenen Arbeit darin besteht, meine Schnittstellen unabhängig von den Bibliotheksschnittstellen zu halten. Ich werde eine Bibliothek oder ein Modul verwenden, wenn es hilfreich ist, aber nicht daran gebunden sein. Dies hat es mir ermöglicht, eine Menge Code umzuformen, einige Bibliotheken auslaufen zu lassen und Bibliotheken als Gerüst zu verwenden, das später optimiert werden kann.
Entlang dieser Linien habe ich Schnittstellen geschrieben, die von Crockfords parasitärem Vererbungsmuster inspiriert wurden. Es ist wirklich ein Gewinn für die Einfachheit. Auf der anderen Seite der Medaille, ich bin mir sicher, dass Sie dafür einstehen könnten, eine Bibliothek auszuwählen, sie in Ihrem Team durchzusetzen und sowohl ihren Vererbungsmustern als auch ihren Schnittstellenkonventionen zu entsprechen.
Wie über einige Links? – pc1oad1etter