Pattern Guru. Шаблоны проектирования. Архитектура ПО
3.13K subscribers
201 photos
4 videos
93 links
Патерны программирования.
Архитектура ПО.
Микросервисы

@anothertechrock
Download Telegram
Вопрос с собеседования

Что такое инкапсуляция?

Ответ:

Инкапсуляция является частью концепции ООП. Она относится к объединению данных с методами, которые работают с этими данными. Это также помогает ограничить любой прямой доступ к некоторым компонентам объекта.

#interview
👎1
Подводные камни Singleton: почему самый известный шаблон проектирования нужно использовать с осторожностью

Паттерн «Одиночка» — пожалуй, самый известный паттерн проектирования. Тем не менее, он не лишен недостатков, поэтому некоторые программисты считают его антипаттерном. Разбираемся в том, какие же подводные камни таятся в Singleton’е.

Читать статью
👍6
Вопрос с собеседования

Что такое Open/closed principle?

Ответ опубликуем вечером, а пока пишите свои варианты в комментариях!

#interview
Вопрос с собеседования

Что такое Open/closed principle?

Ответ:

Open/closed principle - принцип объектно-ориентированного программирования, устанавливающий следующее положение:

"Программные сущности (классы, модули, функции и т. п.) должны быть открыты для расширения, но закрыты для изменения".

Это означает, что такие сущности могут позволять менять свое поведение без изменения их исходного кода.

#interview
Вопрос с собеседования

Что такое переопределение методов?

Ответ опубликуем вечером, а пока пишите свои варианты в комментариях!

#interview
Вопрос с собеседования

Что такое переопределение методов?

Ответ:

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

#interview
Вопрос с собеседования

Что такое GRASP?

Ответ опубликуем позже вечером, а пока пишите свои варианты в комментариях!

#interview
🤔4👍2🔥1
Вопрос с собеседования

Что такое наследование?

Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!

#interview
Вопрос с собеседования

Что такое наследование?

Ответ:

Если вы порождаете класс от другого класса, это называется наследованием.

Дочерний класс наследует все публичные и защищенные свойства и методы от родительского класса. Дочерний класс также может иметь свои собственные свойства и методы. Наследуемый класс определяется с помощью ключевого слова extends.

Множественное наследование - это когда класс наследует более одного базового класса. Пример: класс, объясняющий ребенка. Этот класс – ребенок – наследует от двух базовых классов, которыми являются мать и отец.

Многоуровневое наследование - это когда класс наследуется от другого класса, который сам является подклассом какого-то другого базового класса. Пример: класс под названием спортивный велосипед, который наследуется от базового класса велосипед. В свою очередь, класс велосипед наследуется от другого класса транспортное средство.

#interview
👍4
Вопрос с собеседования

Что такое Liskov substitution principle?

Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!

#interview
Вопрос с собеседования

Что такое Liskov substitution principle?

Ответ:

Liskov substitution principle - принцип подстановки Барбары Лисков.

Роберт С. Мартин определил этот принцип так:

"Функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа, не зная об этом".

Более простыми словами принцип звучит так:

"Наследующий класс должен дополнять, а не замещать поведение базового класса".

Суть принципа в следующем. Если у нас есть класс A и унаследованный от него класс B, то если мы заменим все использования класса A на B, ничего не должно измениться в работе программы. Ведь класс B всего лишь расширяет функционал класса A.

#interview
👍4
Вопрос с собеседования

Что такое иерархическое наследование?

Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!

#interview
Вопрос с собеседования

Что такое иерархическое наследование?

Ответ:

Это когда один базовый класс имеет более одного подкласса. Например, класс фруктов может иметь в качестве подклассов «яблоко», «манго» и т. д.

#interview
👍51
Вопрос с собеседования

Что такое гибридное наследование?

Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!

#interview
Вопрос с собеседования

Что такое гибридное наследование?

Ответ:

Сочетание множественного и многоуровневого наследования известно как гибридное наследование.

#interview
👍5
Вопрос с собеседования

Что такое Interface segregation principle?

Ответ опубликуем вечером, а пока пишите свои варианты в комментариях!

#interview
👍1
Вопрос с собеседования

Что такое Interface segregation principle?

Ответ:

Interface segregation principle - принцип разделения интерфейса (много специализированных интерфейсов лучше, чем один универсальный).

Иными словами, большие, объемные интерфейсы надо разбивать на мелкие. При этом клиенты маленьких интерфейсов должны знать только о тех методах, которые необходимы им в работе. Также при изменении метода интерфейса не должны меняться клиенты, которые этот метод не используют.

#interview
Вопрос с собеседования

Что такое модификаторы доступа?

Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!

#interview
Вопрос с собеседования

Что такое модификаторы доступа?

Ответ:

Модификаторы доступа или спецификаторы доступа – это ключевые слова в объектно-ориентированных языках. Они помогают установить доступность классов, методов и других членов.

#interview
Вопрос с собеседования

Что такое YAGNI?

Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!

#interview
Вопрос с собеседования

Что такое YAGNI?

Ответ:

YAGNI (аббр. от You ain't gonna need it - "Тебе это не понадобится") - принцип проектирования ПО, при котором в качестве основной цели и/или ценности декларируется отказ от избыточной функциональности. Суть в том, чтобы реализовывать только поставленные задачи и отказываться от избыточного функционала.

#interview
👍11