No hay manera correcta, porque tantas personas hacen tantas cosas diferentes .. Hay muchos patrones útiles.
Crockford sugiere que "vaya con el grano", o escriba javascript de una manera que corresponda a la naturaleza prototípica de JavaScript.
Por supuesto, continúa demostrando que el modelo original que sugirió Netscape está realmente roto. Él lo etiqueta como "pseudoclassical", y señala una gran cantidad de errores de dirección y la complejidad innecesaria que implica seguir ese modelo.
Escribió la función "objeto" como un remedio (ahora conocido como Object.create()). Permite algunos patrones prototípicos muy potentes.
No siempre es fácil desarrollar una interfaz limpia cuando tiene que trabajar con javascript heredado, especialmente no cuando se trata de sistemas grandes, que generalmente incluyen bibliotecas múltiples y cada uno implementa un estilo único y un patrón de herencia diferente. En general, diría que la "forma correcta" de hacer herencia es la que le permite escribir una interfaz limpia que se comporta bien en el contexto de su código heredado, pero también le permite refactorizar y eliminar antiguas dependencias con el tiempo. .
Teniendo en cuenta las diferencias entre los principales patrones de la biblioteca, he descubierto que la ruta más exitosa para realizar en mi propio trabajo es mantener mis interfaces independientes de las interfaces de la biblioteca por completo. Usaré una biblioteca o módulo si es útil, pero no estaré vinculado a él. Esto me ha permitido refactorizar una gran cantidad de código, eliminar algunas bibliotecas y utilizar bibliotecas como andamios que se pueden optimizar más adelante.
En esta línea, he escrito interfaces inspiradas en el patrón de herencia parasitaria de Crockford. Realmente es una victoria para la simplicidad.
En el otro lado de la moneda, estoy seguro de que podría abogar por elegir una biblioteca, imponerla en su equipo y cumplir tanto con sus patrones de herencia como con sus convenciones de interfaz.
¿Qué tal unos enlaces? – pc1oad1etter