Назад к вопросам
Junior
68
questionbank
Какие шаблоны проектирования ты знаешь?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
-
Порождающие:
Singleton: гарантирует, что у класса есть только один экземпляр, и предоставляет к нему глобальную точку доступа.Factory Method: определяет интерфейс для создания объекта, но позволяет подклассам решать, какой класс инстанцировать.Abstract Factory: предоставляет интерфейс для создания семейств связанных или зависимых объектов, не специфицируя их конкретных классов.Builder: отделяет конструирование сложного объекта от его представления, так что один и тот же процесс конструирования может создавать разные представления.Prototype: указывает виды создаваемых объектов с помощью эталонного экземпляра и создает новые объекты путем копирования этого эталона.
-
Структурные:
Adapter: преобразует интерфейс одного класса в другой интерфейс, ожидаемый клиентами.Bridge: разделяет абстракцию и ее реализацию так, что они могут изменяться независимо.Composite: компонует объекты в древовидную структуру для представления иерархий часть-целое.Decorator: динамически добавляет новые обязанности объекту, обертывая его.Facade: предоставляет унифицированный интерфейс к набору интерфейсов в подсистеме.Flyweight: использует разделение для эффективной поддержки большого количества мелких объектов.Proxy: предоставляет суррогат или заполнитель для другого объекта для управления доступом к нему.
-
Поведенческие:
Chain of Responsibility: передает запросы последовательно по цепочке обработчиков. Каждый обработчик либо обрабатывает запрос, либо передает его следующему обработчику.Command: инкапсулирует запрос в виде объекта, позволяя параметризовать клиентов с различными запросами, ставить запросы в очередь или записывать их в журнал.Interpreter: задает представление грамматики для данного языка и включает интерпретатор для предложений на этом языке.Iterator: предоставляет способ последовательного доступа ко всем элементам составного объекта, не раскрывая его внутреннего представления.Mediator: определяет объект, который инкапсулирует способ взаимодействия набора объектов.Memento: без нарушения инкапсуляции захватывает и внешне сохраняет внутреннее состояние объекта так, чтобы объект мог быть восстановлен позже.Observer: определяет зависимость один-ко-многим между объектами так, что при изменении состояния одного объекта все зависящие от него оповещаются об этом и автоматически обновляются.State: позволяет объекту изменять свое поведение при изменении его внутреннего состояния.Strategy: определяет семейство алгоритмов, инкапсулирует каждый из них и делает их взаимозаменяемыми.Template Method: определяет скелет алгоритма в операции, откладывая некоторые шаги на подклассы.Visitor: представляет операцию, выполняемую над элементами структуры объектов.
Также знаком с паттернами GRASP (General Responsibility Assignment Software Patterns).