Паттерн Наблюдатель (Observer) поведенческий шаблон проектирования субъект сообщает подписанным наблюдателям об изменении своего состояния слабая связанность: наблюдатели не зависят напрямую от субъекта субъект…
Как устроено прототипное наследование в JavaScript В JavaScript применяется прототипная модель наследования, а не классическая У каждого объекта есть скрытая ссылка на прототип — другой объект Когда запрашивается…
механизм динамического исследования и управления типами даёт возможность получать метаданные сборок, типов, методов и свойств позволяет обращаться к структуре программы во время выполнения даёт возможность динамически…
Как работают индексаторы (Indexers) в C#? определяют способ доступа к элементам объекта используют синтаксис, напоминающий массив: obj[index] позволяют обращаться с экземпляром класса как с коллекцией объявляются с…
Три принципа ООП: инкапсуляция, наследование и полиморфизм ООП — это парадигма, в которой структура программы строится вокруг объектов Инкапсуляция: изоляция данных и обращение к ним через методы для защиты…
Как виртуальные таблицы определяют тип объекта в рантайме? Область: ПЗУ, объектно-ориентированное программирование, полиморфизм Основной механизм: виртуальная таблица (vtable) При создании объекта класса-наследника в…
Полиморфизм: динамическое поведение обеспечивают интерфейсы Инкапсуляция: реализация скрывается с помощью неэкспортируемых полей и методов Встраивание структур (composition): добавление функциональности без построения…
Как устроена асинхронность в JavaScript? событийная модель выполнения (event loop) call stack — стек, в котором исполняются синхронные функции message queue — очередь задач для асинхронных колбеков Web APIs — таймеры,…
Как часто применяете принцип инверсии зависимостей и абстракции? фундамент чистой архитектуры и SOLID-принципов использую постоянно, чтобы обеспечивать гибкость и тестируемость строю инверсию зависимостей на основе…
Магические методы итератора Итератор — это объект, поддерживающий протокол итерации Python Метод iter() — возвращает сам объект-итератор Метод next() — выдаёт следующий элемент либо вызывает StopIteration…
контроль доступа в ООП и степень инкапсуляции основные варианты: public — обращение возможно из любой части программы private — доступ разрешён только внутри класса protected — доступен классу и его наследникам…