/meet_up

Primary LanguageJavaScript

Темы

  • принципы ООП

    • абстракция - это модель некоего обьекта или явления из реального мира, в которой опущены незначительные детали.
    • инкапсуляция - способность обьектов скрывать часть своего состояния и поведения от внешнего мира, предоставляя ему только определенный интерфейс взаимодействия с собой.
    • наследование - возможность создания новых обьектов на основе существующих.
    • полиморфизм - способность программы выбирать различные реализации при вызове операции с однм и тем же названием.
  • принцыпы SOLID

  • ООП без обьектов

  • шаблоны проектирования

    • фабрика - позволяет скрыть условные конструкции, изолировать процес создания обьекта, в какой-то степени убрать дублирование кода.
    • декоратор - позволяет разширить функционал некоего обьекта.
    • компоновщик (composite pattern) - обьединяет обьекты в древовидную структуру для создания иерархии. Позволяет обращаться к отдельным обьектам и к групам обьектов одинаково.
    • адаптер - имролзуется когда нужно использовать код не поддерживающий необходимый интерфейс. Создается обертка над обьектом, которая нужна для поддержки нужного интерфейса. Позволяет обьектам с разными интерфейсами работать вместе.
  • парадигмы программирования

  • идемпотентность - действие. многократное выполнение которого даст тот же результат, что и однократное. Проще говоря, это когда функция при вызове всегда возвращает оди и тот же результат, не зависимо от количества вызовов.

    Стек - абстрактный тип данных, организован по принцыпу LIFO (last in - first out).

    Каринг - конвертация функции, которая принимает несколько аргументов в функции, которая принимает один аргумент. ПРи каждом последующем вызове функцияпринимает один аргумент и возвращает другую функцию, которая так же принимает один аргумент до тех пор, пока все аргументы не будут обработаны.

    Predicate - это функция, которая возврацает true или false. Используется в filter.

    Lambda - анонимная функция, которую можно использовать как значение. Их часто передают в качестве аргументов в функции высокого порядка.

    -каждая функция в JS виртуальная с поздним связыванием;

    Объект первого рода — Сущность в языке, которая рассматривается как данные. Это значит что ее можно записывать в переменную, передавать в функции и возвращать из функций. В JS функции это обьекты первого рода.

    Monkey patching - подход когда поведение программы меняеться во время ее работы.

    Middleware - промежуточный слой выполняющий дополнительную обработку данных