Нет определенного правильного пути , потому что так много людей делают так много разных вещей ... Есть много полезных шаблонов.
Крокфорд предполагает, что вы «идете в ногу со временем» или пишете javascript таким образом, который соответствует прототипу javascript.
Конечно, он продолжает показывать, что оригинальная модель, предложенная Netscape, на самом деле сломана. Он называет его «псевдоклассическим» и указывает на большое заблуждение и ненужную сложность, которые связаны с следованием этой модели.
Он написал функцию «объект» как лекарство (теперь известное как Object.create ()). Это позволяет использовать некоторые очень мощные образцы прототипов.
Не всегда легко разработать чистый интерфейс, когда вам приходится работать с устаревшим javascript, особенно если вы работаете с большими системами, обычно с несколькими библиотеками, каждая из которых реализует уникальный стиль и свой шаблон наследования. В целом, я бы сказал, что «правильный способ» наследования - это тот, который позволяет вам написать чистый интерфейс, который ведет себя хорошо в контексте вашего унаследованного кода, но также позволяет вам реорганизовывать и устранять старые зависимости со временем .
Учитывая различия между основными шаблонами библиотек, я обнаружил, что наиболее успешный путь в моей работе - это сохранение моих интерфейсов полностью независимыми от интерфейсов библиотеки. Я буду использовать библиотеку или модуль, если это будет полезно, но я не буду связан с этим. Это позволило мне провести рефакторинг большого количества кода, отказаться от некоторых библиотек и использовать библиотеки в качестве скаффолдинга, который впоследствии можно будет оптимизировать.
Вдоль этих строк я написал интерфейсы, которые были вдохновлены паттерном наследования Крокфорда. Это действительно победа за простоту.
С другой стороны медали, я уверен, вы могли бы поспорить за то, что вы выбрали библиотеку, применили ее в своей команде и соответствовали ее шаблонам наследования и соглашениям об интерфейсе.