617просмотров
14 октября 2022 г.
Score: 679
Начальный уровень. Общие вопросы. Принципы SOLID.  Алоха друзья! Сегодня мы разберём один из базовых вопросов на собеседовании. Итак, SOLID - это  мнемонический акроним для первых пяти принципов, названных Робертом Мартином в начале 2000-х, которые означали 5 основных принципов объектно-ориентированного программирования и проектирования. Использование принципов SOLID способствует созданию системы, которую будет легко поддерживать и расширять в течение долгого времени. Разберём подробнее каждую букву: • S - Single-responsibility principle/ Принцип единственной ответственности Для каждого класса должно быть определено единственное назначение. Все ресурсы, необходимые для его осуществления, должны быть инкапсулированы в этот класс и подчинены только этой задаче • O - Open–closed principle / Принцип открытости-закрытости  Программные сущности должны быть открыты для расширения, но закрыты для модификации • L - Liskov substitution principle / Принцип подстановки Лисков  Объекты родительских классов должны быть заменимы объектами подклассов без изменения поведения приложения • I - Interface segregation principle / Принцип разделения интерфейсов  Слишком «толстые» интерфейсы необходимо разделять на более маленькие и специфические, чтобы программные сущности маленьких интерфейсов знали только о методах, которые необходимы им в работе. В итоге, при изменении метода интерфейса не должны меняться программные сущности, которые этот метод не используют • D - Dependency inversion principle / Принцип инверсии зависимостей  При разработке нужно полагаться на абстракции, а не на конкретные реализации. Компоненты ПО должны иметь низкую связность и высокую согласованность. Часто спрашивают не все принципы, а какой-то один, например, чаще почему-то именно принцип подстановки Лисков. Иногда просят привести пример нарушения принципов SOLID, в стандартных библиотеках, фреймворках от Apple. Тут можно указать, что в языке Swift есть механизм переопределения функции (override func), который нарушает принцип Принцип открытости-закрытости. Так же можно привести пример UIStackview, который игнорирует  backgroundColor, тем самым нарушается принцип подстановки Лисков. Более наглядно в статье по принципам SOLID 👇👇👇 #SwiftInterviewBeginner #SwiftInterviewGeneral https://habr.com/ru/company/productivity_inside/blog/505430/
617
просмотров
2488
символов
Нет
эмодзи
Нет
медиа

Другие посты @swift_interview

Все посты канала →
Начальный уровень. Общие вопросы. Принципы SOLID.  Алох — @swift_interview | PostSniper