Вопрос с собеседования
Что такое DRY principles?
Ответ опубликуем вечером, а пока пишите свои варианты в комментариях!
#interview
Что такое DRY principles?
Ответ опубликуем вечером, а пока пишите свои варианты в комментариях!
#interview
Вопрос с собеседования
Что такое DRY principles?
Ответ:
DRY, Don't repeat yourself (не повторяйся) - это принцип разработки программного обеспечения, нацеленный на снижение повторения информации различного рода, особенно в системах со множеством слоёв абстрагирования.
Простыми словами: НЕ пишите повторяющийся код, используйте принцип абстракции, обобщая простые вещи в одном месте.
#interview
Что такое DRY principles?
Ответ:
DRY, Don't repeat yourself (не повторяйся) - это принцип разработки программного обеспечения, нацеленный на снижение повторения информации различного рода, особенно в системах со множеством слоёв абстрагирования.
Простыми словами: НЕ пишите повторяющийся код, используйте принцип абстракции, обобщая простые вещи в одном месте.
#interview
Шаблон проектирования Chain of Responsibility
Цепочка обязанностей - поведенческий паттерн проектирования. Он позволяет передавать запросы по цепочке обработчиков последовательно. Каждый последующий обработчик решает, может ли он обработать запрос сам и стоит ли передавать запрос дальше по цепи.
Самый наглядный пример шаблона — компьютерная сеть. Пусть в сетевой модели есть 4 типа обработчиков — сеть, маршрутизатор, форвардер и сервер. Также есть всего один тип запроса — запрос на обработку сервером. Обработчики ведут себя следующим образом: сеть — просто предает по своей среде запрос, маршрутизатор — передает запрос из одной сети в другую, форвардер — передает запрос конкретному хосту, сервер — обрабатывает запрос.
Узлы сети представляют собой конвейер обработчиков. Запрос — конкретное сообщение. Запрос, двигаясь по цепочке, обрабатывается (маршрутизируется, форвардится) каждым ее узлом и передается дальше. До тех пор, пока не будет окончательно обработан сервером.
Смотреть реализацию
Цепочка обязанностей - поведенческий паттерн проектирования. Он позволяет передавать запросы по цепочке обработчиков последовательно. Каждый последующий обработчик решает, может ли он обработать запрос сам и стоит ли передавать запрос дальше по цепи.
Самый наглядный пример шаблона — компьютерная сеть. Пусть в сетевой модели есть 4 типа обработчиков — сеть, маршрутизатор, форвардер и сервер. Также есть всего один тип запроса — запрос на обработку сервером. Обработчики ведут себя следующим образом: сеть — просто предает по своей среде запрос, маршрутизатор — передает запрос из одной сети в другую, форвардер — передает запрос конкретному хосту, сервер — обрабатывает запрос.
Узлы сети представляют собой конвейер обработчиков. Запрос — конкретное сообщение. Запрос, двигаясь по цепочке, обрабатывается (маршрутизируется, форвардится) каждым ее узлом и передается дальше. До тех пор, пока не будет окончательно обработан сервером.
Смотреть реализацию
👍3
Вопрос с собеседования
Что такое инкапсуляция?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Что такое инкапсуляция?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Вопрос с собеседования
Что такое инкапсуляция?
Ответ:
Инкапсуляция является частью концепции ООП. Она относится к объединению данных с методами, которые работают с этими данными. Это также помогает ограничить любой прямой доступ к некоторым компонентам объекта.
#interview
Что такое инкапсуляция?
Ответ:
Инкапсуляция является частью концепции ООП. Она относится к объединению данных с методами, которые работают с этими данными. Это также помогает ограничить любой прямой доступ к некоторым компонентам объекта.
#interview
👎1
Подводные камни Singleton: почему самый известный шаблон проектирования нужно использовать с осторожностью
Паттерн «Одиночка» — пожалуй, самый известный паттерн проектирования. Тем не менее, он не лишен недостатков, поэтому некоторые программисты считают его антипаттерном. Разбираемся в том, какие же подводные камни таятся в Singleton’е.
Читать статью
Паттерн «Одиночка» — пожалуй, самый известный паттерн проектирования. Тем не менее, он не лишен недостатков, поэтому некоторые программисты считают его антипаттерном. Разбираемся в том, какие же подводные камни таятся в Singleton’е.
Читать статью
👍6
Вопрос с собеседования
Что такое Open/closed principle?
Ответ опубликуем вечером, а пока пишите свои варианты в комментариях!
#interview
Что такое Open/closed principle?
Ответ опубликуем вечером, а пока пишите свои варианты в комментариях!
#interview
Вопрос с собеседования
Что такое Open/closed principle?
Ответ:
Open/closed principle - принцип объектно-ориентированного программирования, устанавливающий следующее положение:
"Программные сущности (классы, модули, функции и т. п.) должны быть открыты для расширения, но закрыты для изменения".
Это означает, что такие сущности могут позволять менять свое поведение без изменения их исходного кода.
#interview
Что такое Open/closed principle?
Ответ:
Open/closed principle - принцип объектно-ориентированного программирования, устанавливающий следующее положение:
"Программные сущности (классы, модули, функции и т. п.) должны быть открыты для расширения, но закрыты для изменения".
Это означает, что такие сущности могут позволять менять свое поведение без изменения их исходного кода.
#interview
Вопрос с собеседования
Что такое переопределение методов?
Ответ опубликуем вечером, а пока пишите свои варианты в комментариях!
#interview
Что такое переопределение методов?
Ответ опубликуем вечером, а пока пишите свои варианты в комментариях!
#interview
Вопрос с собеседования
Что такое переопределение методов?
Ответ:
Переопределение методов – это концепция объектно-ориентированного программирования. Это особенность языка, позволяющая подклассу или дочернему классу предоставлять конкретную реализацию метода, который уже предоставлен одним из его суперклассов или родительских классов.
#interview
Что такое переопределение методов?
Ответ:
Переопределение методов – это концепция объектно-ориентированного программирования. Это особенность языка, позволяющая подклассу или дочернему классу предоставлять конкретную реализацию метода, который уже предоставлен одним из его суперклассов или родительских классов.
#interview
Вопрос с собеседования
Что такое GRASP?
Ответ опубликуем позже вечером, а пока пишите свои варианты в комментариях!
#interview
Что такое GRASP?
Ответ опубликуем позже вечером, а пока пишите свои варианты в комментариях!
#interview
🤔4👍2🔥1
Вопрос с собеседования
Что такое наследование?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Что такое наследование?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Вопрос с собеседования
Что такое наследование?
Ответ:
Если вы порождаете класс от другого класса, это называется наследованием.
Дочерний класс наследует все публичные и защищенные свойства и методы от родительского класса. Дочерний класс также может иметь свои собственные свойства и методы. Наследуемый класс определяется с помощью ключевого слова extends.
Множественное наследование - это когда класс наследует более одного базового класса. Пример: класс, объясняющий ребенка. Этот класс –
Многоуровневое наследование - это когда класс наследуется от другого класса, который сам является подклассом какого-то другого базового класса. Пример: класс под названием
#interview
Что такое наследование?
Ответ:
Если вы порождаете класс от другого класса, это называется наследованием.
Дочерний класс наследует все публичные и защищенные свойства и методы от родительского класса. Дочерний класс также может иметь свои собственные свойства и методы. Наследуемый класс определяется с помощью ключевого слова extends.
Множественное наследование - это когда класс наследует более одного базового класса. Пример: класс, объясняющий ребенка. Этот класс –
ребенок – наследует от двух базовых классов, которыми являются мать и отец.Многоуровневое наследование - это когда класс наследуется от другого класса, который сам является подклассом какого-то другого базового класса. Пример: класс под названием
спортивный велосипед, который наследуется от базового класса велосипед. В свою очередь, класс велосипед наследуется от другого класса транспортное средство.#interview
👍4
Вопрос с собеседования
Что такое Liskov substitution principle?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Что такое Liskov substitution principle?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Вопрос с собеседования
Что такое Liskov substitution principle?
Ответ:
Liskov substitution principle - принцип подстановки Барбары Лисков.
Роберт С. Мартин определил этот принцип так:
"Функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа, не зная об этом".
Более простыми словами принцип звучит так:
"Наследующий класс должен дополнять, а не замещать поведение базового класса".
Суть принципа в следующем. Если у нас есть класс A и унаследованный от него класс B, то если мы заменим все использования класса A на B, ничего не должно измениться в работе программы. Ведь класс B всего лишь расширяет функционал класса A.
#interview
Что такое Liskov substitution principle?
Ответ:
Liskov substitution principle - принцип подстановки Барбары Лисков.
Роберт С. Мартин определил этот принцип так:
"Функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа, не зная об этом".
Более простыми словами принцип звучит так:
"Наследующий класс должен дополнять, а не замещать поведение базового класса".
Суть принципа в следующем. Если у нас есть класс A и унаследованный от него класс B, то если мы заменим все использования класса A на B, ничего не должно измениться в работе программы. Ведь класс B всего лишь расширяет функционал класса A.
#interview
👍4
Вопрос с собеседования
Что такое иерархическое наследование?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Что такое иерархическое наследование?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Вопрос с собеседования
Что такое иерархическое наследование?
Ответ:
Это когда один базовый класс имеет более одного подкласса. Например, класс фруктов может иметь в качестве подклассов «яблоко», «манго» и т. д.
#interview
Что такое иерархическое наследование?
Ответ:
Это когда один базовый класс имеет более одного подкласса. Например, класс фруктов может иметь в качестве подклассов «яблоко», «манго» и т. д.
#interview
👍5❤1
Вопрос с собеседования
Что такое гибридное наследование?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Что такое гибридное наследование?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Вопрос с собеседования
Что такое гибридное наследование?
Ответ:
Сочетание множественного и многоуровневого наследования известно как гибридное наследование.
#interview
Что такое гибридное наследование?
Ответ:
Сочетание множественного и многоуровневого наследования известно как гибридное наследование.
#interview
👍5
Вопрос с собеседования
Что такое Interface segregation principle?
Ответ опубликуем вечером, а пока пишите свои варианты в комментариях!
#interview
Что такое Interface segregation principle?
Ответ опубликуем вечером, а пока пишите свои варианты в комментариях!
#interview
👍1
Вопрос с собеседования
Что такое Interface segregation principle?
Ответ:
Interface segregation principle - принцип разделения интерфейса (много специализированных интерфейсов лучше, чем один универсальный).
Иными словами, большие, объемные интерфейсы надо разбивать на мелкие. При этом клиенты маленьких интерфейсов должны знать только о тех методах, которые необходимы им в работе. Также при изменении метода интерфейса не должны меняться клиенты, которые этот метод не используют.
#interview
Что такое Interface segregation principle?
Ответ:
Interface segregation principle - принцип разделения интерфейса (много специализированных интерфейсов лучше, чем один универсальный).
Иными словами, большие, объемные интерфейсы надо разбивать на мелкие. При этом клиенты маленьких интерфейсов должны знать только о тех методах, которые необходимы им в работе. Также при изменении метода интерфейса не должны меняться клиенты, которые этот метод не используют.
#interview