Принципы ООП в JavaScript JavaScript использует прототипное наследование, а не классическую модель К базовым принципам относятся инкапсуляция, наследование, полиморфизм и абстракция Инкапсуляция: сокрытие данных с…
Каковы основные принципы SOLID? пять принципов объектно-ориентированного проектирования S — Single Responsibility Principle (SRP): у класса должна быть только одна ответственность O — Open/Closed Principle (OCP):…
Паттерн абстракции для разных сущностей область: проектирование, архитектура ПО паттерн: Адаптер (Adapter) суть: формирует единый интерфейс для объектов, различающихся внутренней структурой отличие: преобразует вызовы…
В Kotlin data class предназначен для хранения данных Прямое наследование data class запрещено Наследоваться можно от обычных классов, но не от другого data class Вместо этого применяют composition (композицию)…
JavaScript в браузере работает в одном потоке Promise предоставляет оболочку для асинхронных операций, однако содержащийся в нём код остаётся синхронным если внутри Promise запускается тяжёлая синхронная операция,…
Можно ли напрямую отрендерить React-компонент из Web Worker'а (или компонент другого фреймворка) в DOM? Web Worker представляет собой фоновый поток, не имеющий доступа к DOM Рендеринг React-компонентов выполняется в…
Java использует иерархию классов Исключения составляют примитивы и исключения JVM; например, примитивные типы классами не являются Когда класс явно не указывает родительский класс, он неявно наследует Object…
вместо классического наследования Go использует интерфейсы полиморфное поведение обеспечивается динамической диспетчеризацией методов интерфейса тип, реализующий методы интерфейса, автоматически ему соответствует…
В Swift для классов не предусмотрено множественное наследование Каждый класс может иметь только один суперкласс Для замены множественного наследования применяются протоколы (protocols) Протоколы задают набор…
разные подходы: композиция объектов и иерархия типов встраивание добавляет объект в структуру и использует делегирование наследование расширяет базовый класс и позволяет переопределять его поведение embedding не…
ограничение GIL (Global Interpreter Lock) в CPython GIL не позволяет нескольким потокам одновременно выполнять байт-код и гарантирует безопасный доступ к объектам без сложных механизмов синхронизации из-за этого…
Наследование и композиция: что обеспечивает большую гибкость кода? наследование: тесная связь и фиксированная иерархия композиция: гибкое объединение объектов из отдельных компонентов наследование трудно изменять…