Вопрос №102
Тема: Основы программирования. Проектирование.
Q: Что такое Dependency hell (Ад зависимостей)?
A: Разрастание графа зависимостей библиотек. Чем опасно? Например, несколько или даже один программный продукт может косвенно потребовать разные версии одной и той же библиотеки.
Тема: Основы программирования. Проектирование.
Q: Что такое Dependency hell (Ад зависимостей)?
A: Разрастание графа зависимостей библиотек. Чем опасно? Например, несколько или даже один программный продукт может косвенно потребовать разные версии одной и той же библиотеки.
Вопрос №103
Тема: Основы программирования. Проектирование.
Q: Расскажите про Принцип подстановки Барбары Лисков.
A: Наследующий класс должен дополнять, а не замещать поведение базового класса. Если класс Б унаследован от А, то мы можем заменить в программе все использования класса А на Б и при этом в работе программы ничего не изменится.
Тема: Основы программирования. Проектирование.
Q: Расскажите про Принцип подстановки Барбары Лисков.
A: Наследующий класс должен дополнять, а не замещать поведение базового класса. Если класс Б унаследован от А, то мы можем заменить в программе все использования класса А на Б и при этом в работе программы ничего не изменится.
Вопрос №104
Тема: Основы программирования. Проектирование.
Q: Что такое инверсия управления?
A: Явление, при котором роль главной программы в координации и последовательности действий приложения выполняет фреймворк (а не код пользователя). В этом основное отличие фреймворка и библиотеки. Библиотека - это набор функций, которые вызываются кодом пользователя, а после окончания выполнения возвращают управление пользователю. В случае с фреймворком он сам координирует и вызывает код пользователя.
Тема: Основы программирования. Проектирование.
Q: Что такое инверсия управления?
A: Явление, при котором роль главной программы в координации и последовательности действий приложения выполняет фреймворк (а не код пользователя). В этом основное отличие фреймворка и библиотеки. Библиотека - это набор функций, которые вызываются кодом пользователя, а после окончания выполнения возвращают управление пользователю. В случае с фреймворком он сам координирует и вызывает код пользователя.
Вопрос №105
Тема: Основы программирования. Проектирование.
Q: Хорошо спроектированное ПО должно обладать сильным сцеплением и слабой связностью. Что это значит?
A: Сцепление - сила зависимостей внутри модуля. Связность - сила зависимостей между разными модулями. Итог: внутри модуля должны быть сильные зависимости, а снаружи - нет.
Тема: Основы программирования. Проектирование.
Q: Хорошо спроектированное ПО должно обладать сильным сцеплением и слабой связностью. Что это значит?
A: Сцепление - сила зависимостей внутри модуля. Связность - сила зависимостей между разными модулями. Итог: внутри модуля должны быть сильные зависимости, а снаружи - нет.
Вопрос №106
Тема: Основы программирования. Проектирование.
Q: Нужны ли комментарии в коде?
A: Нужно стараться писать код так, чтобы комментарии были не нужны.
Тема: Основы программирования. Проектирование.
Q: Нужны ли комментарии в коде?
A: Нужно стараться писать код так, чтобы комментарии были не нужны.
Вопрос №108
Тема: Основы программирования. Проектирование.
Q: Расскажите про паттерн проектирования Observer (Наблюдатель).
A: Наблюдаем за списком объектов. При возникновении события оповещаем каждый их них.
Тема: Основы программирования. Проектирование.
Q: Расскажите про паттерн проектирования Observer (Наблюдатель).
A: Наблюдаем за списком объектов. При возникновении события оповещаем каждый их них.
Вопрос №109
Тема: Основы программирования. Проектирование.
Q: Расскажите про паттерн проектирования Abstract Factory (Абстрактная фабрика).
A: В приведенном примере метод create_form_with_buttons(factory) создает объекты классов Form и Button на основе переданной фабрики (LinuxFactory или WindowsFactory). Класс AbstractFactory определяет фабричные методы create_form() и create_button() и передает их по наследству классам LinuxFactory и WindowsFactory.
Тема: Основы программирования. Проектирование.
Q: Расскажите про паттерн проектирования Abstract Factory (Абстрактная фабрика).
A: В приведенном примере метод create_form_with_buttons(factory) создает объекты классов Form и Button на основе переданной фабрики (LinuxFactory или WindowsFactory). Класс AbstractFactory определяет фабричные методы create_form() и create_button() и передает их по наследству классам LinuxFactory и WindowsFactory.
🔥1
Вопрос №110
110
Тема: Основы программирования. Проектирование.
Q: Что такое Принцип YAGNI?
A: Расшифровывается как You Aren't Gonna Need It (Вам это не понадобится). Пишем код, только если уверены, что он нужен. При рефакторинге не боимся удалять ненужные методы.
110
Тема: Основы программирования. Проектирование.
Q: Что такое Принцип YAGNI?
A: Расшифровывается как You Aren't Gonna Need It (Вам это не понадобится). Пишем код, только если уверены, что он нужен. При рефакторинге не боимся удалять ненужные методы.