Ленивое наследование - Lazy inheritance - Wikipedia

Ленивое наследование это шаблон дизайна используется в JavaScript компьютерное программирование.

Обозначает отложенную привязку объекта к его прототип (класс) пока это не понадобится. При правильном использовании такой подход может повысить эффективность, простоту и гибкость На основе ООП код написан с использованием JavaScript.

Поскольку ленивое наследование вызывается только один раз в момент создания первого экземпляра объекта, кажется логичным объединить процесс создания прототипа класса с разрешением необходимых зависимостей этого класса.

Экземпляры объектов в ленивом наследовании создаются в «смешанном» режиме - при первом вызове фабрика используется для изменения прототипа класса, который позже используется для создания последующих экземпляров объекта. Другими словами, процесс построения прототипа также позволяет загружать скрипты (если они не были загружены ранее), от которых зависит конкретный класс.

Такой подход к поддержке наследования имеет следующие преимущества:

  • Ленивое наследование имеет те же преимущества, что и классические возможности прототипа JavaScript;
  • Нет необходимости поддерживать правильный порядок объявления файлов сценария;
  • В большинстве случаев, HTML страница, содержащая JavaScript, загружается быстрее, поскольку во время инициализации страницы не создаются объекты, и поскольку некоторые скрипты могут быть загружены только в тот момент, когда они действительно необходимы (они необходимы, если вызывающий код во время своего выполнения действительно создает экземпляры соответствующих классов );
  • Зависимости объявляются более явно, а класс зависит только от конкретных сценариев; Более того, нет необходимости искусственно группировать отдельные скрипты в модули и определять зависимости между такими модулями;
  • Если используется ленивый режим загрузки скриптов, будут загружены только необходимые скрипты (которые фактически необходимы для работы приложения). Если, например, какая-то HTML-страница может работать в разных режимах, таких как «чтение-запись» и «только чтение», для каждого режима будут загружены необходимые скрипты, и это будет выполняться автоматически без оптимизации загрузки скриптов вручную.

Смотрите также

Выполнение