Шаблон проектирования Строитель
🟣 Подробное описание паттерна
От абстрактной фабрики отличается тем, что делает акцент на пошаговом конструировании объекта.
🟪 Паттерн Строитель может помочь в решении следующих задач:
🔎 В системе могут существовать сложные объекты, которые сложно или невозможно создать за одну операцию. Требуется поэтапное построение объектов с контролем результатов выполнения каждого этапа.
🔎 Данные должны иметь несколько представлений. Допустим, есть некоторый исходный документ в формате RTF (Rich Text Format), в общем случае содержащий текст, графические изображения и служебную информацию о форматировании (размер и тип шрифтов, отступы и др.). Если этот документ в формате RTF преобразовать в другие форматы (например, Microsoft Word или простой ASCII-текст), то полученные документы и будут представлениями исходных данных.
🗂 Код на Python
Строитель (англ. Builder) — порождающий паттерн проектирования. Он позволяет создавать сложные объекты пошагово. Строитель дает возможность использовать один и тот же код строительства для получения разных представлений объектов.От абстрактной фабрики отличается тем, что делает акцент на пошаговом конструировании объекта.
Строитель возвращает объект на последнем шаге, тогда как абстрактная фабрика возвращает объект немедленно.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥1👌1
Вопрос с собеседования
Зачем нужна инкапсуляция?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Зачем нужна инкапсуляция?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Вопрос с собеседования
Зачем нужна инкапсуляция?
Ответ:
Инкапсуляция позволяет скрыть данные и обернуть данные и код, который работает над ними, в единое целое.
#interview
Зачем нужна инкапсуляция?
Ответ:
Инкапсуляция позволяет скрыть данные и обернуть данные и код, который работает над ними, в единое целое.
#interview
❤1
Это структурный паттерн проектирования, который позволяет объектам с несовместимыми интерфейсами работать вместе.
Anonymous Quiz
1%
Singleton
2%
Factory Method
3%
Template Method
93%
Adapter
1%
Strategy
Паттерн Singletone с примером на JavaScript
Несмотря на то что в последнее время все больше задач мы обычно решаем в функциональном стиле я хотел бы сегодня вам рассказать о одном из самых распространенных классовых паттернов - синглтон.
И так что это:
Паттерн
Пример использования:
Несмотря на то что в последнее время все больше задач мы обычно решаем в функциональном стиле я хотел бы сегодня вам рассказать о одном из самых распространенных классовых паттернов - синглтон.
И так что это:
Паттерн
Singleton означает создание только одного экземпляра класса и доступ к нему через методы-геттеры.Пример использования:
class Singleton {
constructor() {
if (!Singleton.instance) {
Singleton.instance = this;
}
return Singleton.instance;
}
someMethod() {
console.log('Hello from Singleton!');
}
}
const instance1 = new Singleton();
const instance2 = new Singleton();
instance1.someMethod(); // "Hello from Singleton!"
console.log(instance1 === instance2); // true
В данном примере класс Singleton будет создавать только один экземпляр и все вызовы конструктора будут возвращать ссылку на этот экземпляр. Таким образом, мы можем быть уверены, что где бы ни встретились вызовы методов класса Singleton, они всегда будут работать с одним и тем же экземпляром.Вопрос с собеседования
Что такое виртуальные функции?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Что такое виртуальные функции?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Вопрос с собеседования
Что такое виртуальные функции?
Ответ:
Виртуальные функции – это часть функций, которые присутствуют в родительском классе, и они переопределяются подклассом.
Эти функции помогают достичь полиморфизма во время выполнения.
#interview
Что такое виртуальные функции?
Ответ:
Эти функции помогают достичь полиморфизма во время выполнения.
#interview
👍2🙈2
Вопрос с собеседования
Что такое Dependency inversion principle?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Что такое Dependency inversion principle?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Вопрос с собеседования
Что такое Dependency inversion principle?
Ответ:
Dependency inversion principle - принцип инверсии зависимостей.
Зависимости внутри системы строятся на основе абстракций. Модули верхнего уровня не зависят от модулей нижнего уровня. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.
#interview
Что такое Dependency inversion principle?
Ответ:
Dependency inversion principle - принцип инверсии зависимостей.
Зависимости внутри системы строятся на основе абстракций. Модули верхнего уровня не зависят от модулей нижнего уровня. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.
#interview
👎3👍1😁1
Конвертирует интерфейс класса в другой интерфейс, ожидаемый клиентом. Позволяет классам с разными интерфейсами работать вместе. О каком паттерне идёт речь?
Anonymous Quiz
2%
Строитель
83%
Адаптер
11%
Мост
4%
Компоновщик
Лучшие методы:
1. Декоратор
2. Базовый класс
3. Метакласс
4. Декоратор возвращает класс с тем же именем
5. Модуль
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👌1
Этот паттерн гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к нему.
Anonymous Quiz
1%
Factory Method
1%
Adapter
0%
Template Method
1%
Strategy
97%
Singleton
MVC (Model-View-Controller) — это популярный архитектурный паттерн, который разделяет приложение на три компонента:
Model — отвечает за бизнес-логику и управление данными. Это сердце приложения, где происходит взаимодействие с базой данных, выполнение бизнес-правил и другие операции.
View — представляет собой интерфейс пользователя. Он отвечает за отображение данных и взаимодействие с пользователем, но не содержит бизнес-логики.
Controller — посредник между Model и View. Он получает запросы от пользователя, передает их Model и возвращает результаты во View.
💡 MVC позволяет четко разделить обязанности между компонентами, облегчая поддержку и масштабирование кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10