File tree Expand file tree Collapse file tree 23 files changed +93
-105
lines changed
AbstractFactory/Conceptual
ChainOfResponsibility/Conceptual
TemplateMethod/Conceptual Expand file tree Collapse file tree 23 files changed +93
-105
lines changed Original file line number Diff line number Diff line change 1
1
"""
2
2
EN: Abstract Factory Design Pattern
3
3
4
- Intent: Provide an interface for creating families of related or dependent
5
- objects without specifying their concrete classes.
4
+ Intent: Lets you produce families of related objects without specifying their
5
+ concrete classes.
6
6
7
7
RU: Паттерн Абстрактная Фабрика
8
8
Original file line number Diff line number Diff line change 1
1
"""
2
2
EN: Adapter Design Pattern
3
3
4
- Intent: Convert the interface of a class into the interface clients expect.
5
- Adapter lets classes work together where they otherwise couldn't, due to
6
- incompatible interfaces.
4
+ Intent: Provides a unified interface that allows objects with incompatible
5
+ interfaces to collaborate.
7
6
8
7
RU: Паттерн Адаптер
9
8
10
- Назначение: Преобразует интерфейс класса в интерфейс, ожидаемый клиентами.
11
- Адаптер позволяет классам с несовместимыми интерфейсами работать вместе.
9
+ Назначение: Позволяет объектам с несовместимыми интерфейсами работать вместе.
12
10
"""
13
11
14
12
Original file line number Diff line number Diff line change 1
1
"""
2
2
EN: Bridge Design Pattern
3
3
4
- Intent: Decouple an abstraction from its implementation so that the two can vary
5
- independently.
4
+ Intent: Lets you split a large class or a set of closely related classes into
5
+ two separate hierarchies—abstraction and implementation—which can be developed
6
+ independently of each other.
6
7
7
8
A
8
9
/ \ A N
12
13
13
14
RU: Паттерн Мост
14
15
15
- Назначение: Разделяет абстракцию и реализацию, что позволяет изменять их
16
- независимо друг от друга.
16
+ Назначение: Разделяет один или несколько классов на две отдельные иерархии —
17
+ абстракцию и реализацию, позволяя изменять их независимо друг от друга.
17
18
18
19
A
19
20
/ \ A N
Original file line number Diff line number Diff line change 1
1
"""
2
2
EN: Builder Design Pattern
3
3
4
- Intent: Separate the construction of a complex object from its representation so
5
- that the same construction process can create different representations.
4
+ Intent: Lets you construct complex objects step by step. The pattern allows you
5
+ to produce different types and representations of an object using the same
6
+ construction code.
6
7
7
8
RU: Паттерн Строитель
8
9
9
- Назначение: Отделяет построение сложного объекта от его представления так, что
10
- один и тот же процесс построения может создавать разные представления объекта.
10
+ Назначение: Позволяет создавать сложные объекты пошагово. Строитель даёт
11
+ возможность использовать один и тот же код строительства для получения разных
12
+ представлений объектов.
11
13
"""
12
14
13
15
Original file line number Diff line number Diff line change 1
1
"""
2
2
EN: Chain of Responsibility Design Pattern
3
3
4
- Intent: Avoid coupling a sender of a request to its receiver by giving more than
5
- one object a chance to handle the request. Chain the receiving objects and then
6
- pass the request through the chain until some receiver handles it .
4
+ Intent: Lets you pass requests along a chain of handlers. Upon receiving a
5
+ request, each handler decides either to process the request or to pass it to the
6
+ next handler in the chain.
7
7
8
8
RU: Паттерн Цепочка обязанностей
9
9
10
- Назначение: Позволяет избежать привязки отправителя запроса к его получателю,
11
- предоставляя возможность обработать запрос нескольким объектам. Связывает в
12
- цепочку объекты-получатели, а затем передаёт запрос по цепочке, пока некий
13
- получатель не обработает его.
10
+ Назначение: Позволяет передавать запросы последовательно по цепочке
11
+ обработчиков. Каждый последующий обработчик решает, может ли он обработать
12
+ запрос сам и стоит ли передавать запрос дальше по цепи.
14
13
"""
15
14
16
15
from __future__ import annotations
Original file line number Diff line number Diff line change 1
1
"""
2
2
EN: Command Design Pattern
3
3
4
- Intent: Encapsulate a request as an object, thereby letting you parameterize
5
- clients with different requests (e.g. queue or log requests) and support
6
- undoable operations.
4
+ Intent: Turns a request into a stand-alone object that contains all information
5
+ about the request. This transformation lets you parameterize methods with
6
+ different requests, delay or queue a request's execution, and support undoable
7
+ operations.
7
8
8
9
RU: Паттерн Команда
9
10
10
- Назначение: Инкапсулирует запрос как объект , позволяя тем самым параметризовать
11
- клиентов с различными запросами (например, запросами очереди или логирования) и
11
+ Назначение: Превращает запросы в объекты , позволяя передавать их как аргументы
12
+ при вызове методов, ставить запросы в очередь, логировать их, а также
12
13
поддерживать отмену операций.
13
14
"""
14
15
Original file line number Diff line number Diff line change 1
1
"""
2
2
EN: Composite Design Pattern
3
3
4
- Intent: Compose objects into tree structures to represent part-whole
5
- hierarchies. Composite lets clients treat individual objects and compositions of
6
- objects uniformly.
4
+ Intent: Lets you compose objects into tree structures and then work with these
5
+ structures as if they were individual objects.
7
6
8
7
RU: Паттерн Компоновщик
9
8
10
- Назначение: Объединяет объекты в древовидные структуры для представления
11
- иерархий часть-целое. Компоновщик позволяет клиентам обрабатывать отдельные
12
- объекты и группы объектов одинаковым образом.
9
+ Назначение: Позволяет сгруппировать объекты в древовидную структуру, а затем
10
+ работать с ними так, как будто это единичный объект.
13
11
"""
14
12
15
13
Original file line number Diff line number Diff line change 1
1
"""
2
2
EN: Decorator Design Pattern
3
3
4
- Intent: Attach additional responsibilities to an object dynamically. Decorators
5
- provide a flexible alternative to subclassing for extending functionality .
4
+ Intent: Lets you attach new behaviors to objects by placing these objects inside
5
+ special wrapper objects that contain the behaviors .
6
6
7
7
RU: Паттерн Декоратор
8
8
9
- Назначение: Динамически подключает к объекту дополнительную функциональность.
10
- Декораторы предоставляют гибкую альтернативу практике создания подклассов для
11
- расширения функциональности.
9
+ Назначение: Позволяет динамически добавлять объектам новую функциональность,
10
+ оборачивая их в полезные «обёртки».
12
11
"""
13
12
14
13
Original file line number Diff line number Diff line change 1
1
"""
2
2
EN: Facade Design Pattern
3
3
4
- Intent: Provide a unified interface to a number of classes/interfaces of a
5
- complex subsystem. The Facade pattern defines a higher-level interface that
6
- makes the subsystem easier to use.
4
+ Intent: Provides a simplified interface to a library, a framework, or any other
5
+ complex set of classes.
7
6
8
7
RU: Паттерн Фасад
9
8
10
- Назначение: Предоставляет единый интерфейс к ряду классов/интерфейсов сложной
11
- подсистемы. Паттерн Фасад определяет интерфейс более высокого уровня, который
12
- упрощает использование подсистемы.
9
+ Назначение: Предоставляет простой интерфейс к сложной системе классов,
10
+ библиотеке или фреймворку.
13
11
"""
14
12
15
13
Original file line number Diff line number Diff line change 1
1
"""
2
2
EN: Factory Method Design Pattern
3
3
4
- Intent: Define an interface for creating an object, but let subclasses decide
5
- which class to instantiate. Factory Method lets a class defer instantiation to
6
- subclasses.
4
+ Intent: Provides an interface for creating objects in a superclass, but allows
5
+ subclasses to alter the type of objects that will be created.
7
6
8
7
RU: Паттерн Фабричный Метод
9
8
10
- Назначение: Определяет интерфейс для создания объекта, но позволяет подклассам
11
- решать, какого класса создавать экземпляр. Фабричный Метод позволяет классу
12
- делегировать создание экземпляра подклассам.
9
+ Назначение: Определяет общий интерфейс для создания объектов в суперклассе,
10
+ позволяя подклассам изменять тип создаваемых объектов.
13
11
"""
14
12
15
13
Original file line number Diff line number Diff line change 1
1
"""
2
2
EN: Flyweight Design Pattern
3
3
4
- Intent: Use sharing to fit more objects into the available amount of RAM by
5
- sharing common parts of the object state among multiple objects, instead of
6
- keeping the entire state in each object.
4
+ Intent: Lets you fit more objects into the available amount of RAM by sharing
5
+ common parts of state between multiple objects, instead of keeping all of the
6
+ data in each object.
7
7
8
8
RU: Паттерн Легковес
9
9
10
10
Назначение: Позволяет вместить бóльшее количество объектов в отведённую
11
11
оперативную память. Легковес экономит память, разделяя общее состояние объектов
12
- между ними , вместо хранения одинаковых данных в каждом объекте.
12
+ между собой , вместо хранения одинаковых данных в каждом объекте.
13
13
"""
14
14
15
15
Original file line number Diff line number Diff line change 1
1
"""
2
2
EN: Iterator Design Pattern
3
3
4
- Intent: Provide a way to traverse the elements of an aggregate object without
5
- exposing its underlying representation.
4
+ Intent: Lets you traverse elements of a collection without exposing its
5
+ underlying representation (list, stack, tree, etc.) .
6
6
7
7
RU: Паттерн Итератор
8
8
9
- Назначение: Предоставляет возможность обходить элементы составного объекта, не
10
- раскрывая его внутреннего представления.
9
+ Назначение: Даёт возможность последовательно обходить элементы составных
10
+ объектов, не раскрывая их внутреннего представления.
11
11
"""
12
12
13
13
Original file line number Diff line number Diff line change 1
1
"""
2
2
EN: Mediator Design Pattern
3
3
4
- Intent: Define an object that encapsulates how a set of objects interact.
5
- Mediator promotes loose coupling by keeping objects from referring to each other
6
- explicitly, and it lets you vary their interaction independently .
4
+ Intent: Lets you reduce chaotic dependencies between objects. The pattern
5
+ restricts direct communications between the objects and forces them to
6
+ collaborate only via a mediator object .
7
7
8
8
RU: Паттерн Посредник
9
9
10
- Назначение: Определяет объект, который инкапсулирует взаимодействие набора
11
- объектов. Посредник способствует слабой связанности, удерживая объекты от
12
- обращения друг к другу напрямую, и это позволяет вам менять их взаимодействие
13
- независимо.
10
+ Назначение: Позволяет уменьшить связанность множества классов между собой,
11
+ благодаря перемещению этих связей в один класс-посредник.
14
12
"""
15
13
16
14
Original file line number Diff line number Diff line change 1
1
"""
2
2
EN: Memento Design Pattern
3
3
4
- Intent: Capture and externalize an object's internal state so that the object
5
- can be restored to this state later, without violating encapsulation .
4
+ Intent: Lets you save and restore the previous state of an object without
5
+ revealing the details of its implementation .
6
6
7
7
RU: Паттерн Снимок
8
8
Original file line number Diff line number Diff line change 1
1
"""
2
2
EN: Observer Design Pattern
3
3
4
- Intent: Define a one-to-many dependency between objects so that when one object
5
- changes state, all of its dependents are notified and updated automatically .
4
+ Intent: Lets you define a subscription mechanism to notify multiple objects
5
+ about any events that happen to the object they're observing .
6
6
7
7
Note that there's a lot of different terms with similar meaning associated with
8
8
this pattern. Just remember that the Subject is also called the Publisher and
11
11
12
12
RU: Паттерн Наблюдатель
13
13
14
- Назначение: Устанавливает между объектами зависимость «один ко многим» таким
15
- образом, что когда изменяется состояние одного объекта, все зависимые от него
16
- объекты оповещаются и обновляются автоматически.
14
+ Назначение: Создаёт механизм подписки, позволяющий одним объектам следить и
15
+ реагировать на события, происходящие в других объектах.
17
16
18
17
Обратите внимание, что существует множество различных терминов с похожими
19
18
значениями, связанных с этим паттерном. Просто помните, что Субъекта также
Original file line number Diff line number Diff line change 1
1
"""
2
2
EN: Prototype Design Pattern
3
3
4
- Intent: Produce new objects by copying existing ones without compromising their
5
- internal structure .
4
+ Intent: Lets you copy existing objects without making your code dependent on
5
+ their classes .
6
6
7
7
RU: Паттерн Прототип
8
8
9
- Назначение: Создаёт новые объекты, копируя существующие без нарушения их
10
- внутренней структуры .
9
+ Назначение: Позволяет копировать объекты, не вдаваясь в подробности их
10
+ реализации .
11
11
"""
12
12
13
13
Original file line number Diff line number Diff line change 6
6
7
7
RU: Паттерн Заместитель
8
8
9
- Назначение: Предоставляет заменитель или местозаполнитель для другого объекта,
10
- чтобы контролировать доступ к оригинальному объекту или добавлять другие
11
- обязанности .
9
+ Назначение: Позволяет подставлять вместо реальных объектов специальные
10
+ объекты-заменители. Эти объекты перехватывают вызовы к оригинальному объекту,
11
+ позволяя сделать что-то до или после передачи вызова оригиналу .
12
12
"""
13
13
14
14
Original file line number Diff line number Diff line change 1
1
"""
2
2
EN: Singleton Design Pattern
3
3
4
- Intent: Ensure that a class has a single instance, and provide a global point of
5
- access to it .
4
+ Intent: Lets you ensure that a class has only one instance, while providing a
5
+ global access point to this instance .
6
6
7
7
RU: Паттерн Одиночка
8
8
9
- Назначение: Гарантирует существование единственного экземпляра класса и
10
- предоставляет глобальную точку доступа к нему .
9
+ Назначение: Гарантирует, что у класса есть только один экземпляр, и
10
+ предоставляет к нему глобальную точку доступа.
11
11
"""
12
12
13
13
Original file line number Diff line number Diff line change 1
1
"""
2
2
EN: Singleton Design Pattern
3
3
4
- Intent: Ensure that a class has a single instance, and provide a global point of
5
- access to it .
4
+ Intent: Lets you ensure that a class has only one instance, while providing a
5
+ global access point to this instance .
6
6
7
7
RU: Паттерн Одиночка
8
8
9
- Назначение: Гарантирует существование единственного экземпляра класса и
10
- предоставляет глобальную точку доступа к нему .
9
+ Назначение: Гарантирует, что у класса есть только один экземпляр, и
10
+ предоставляет к нему глобальную точку доступа.
11
11
"""
12
12
13
13
Original file line number Diff line number Diff line change 1
1
"""
2
2
EN: State Design Pattern
3
3
4
- Intent: Allow an object to alter its behavior when its internal state changes.
5
- The object will appear to change its class.
4
+ Intent: Lets an object alter its behavior when its internal state changes. It
5
+ appears as if the object changed its class.
6
6
7
7
RU: Паттерн Состояние
8
8
9
- Назначение: Позволяет объекту менять поведение при изменении его внутреннего
10
- состояния. Со стороны может казаться , что объект меняет свой класс.
9
+ Назначение: Позволяет объектам менять поведение в зависимости от своего
10
+ состояния. Извне создаётся впечатление , что изменился класс объекта .
11
11
"""
12
12
13
13
Original file line number Diff line number Diff line change 1
1
"""
2
2
EN: Strategy Design Pattern
3
3
4
- Intent: Define a family of algorithms, encapsulate each one, and make them
5
- interchangeable. Strategy lets the algorithm vary independently from clients
6
- that use it.
4
+ Intent: Lets you define a family of algorithms, put each of them into a separate
5
+ class, and make their objects interchangeable.
7
6
8
7
RU: Паттерн Стратегия
9
8
10
- Назначение: Определяет семейство алгоритмов, инкапсулирует каждый из них и
11
- делает взаимозаменяемыми. Стратегия позволяет изменять алгоритм независимо от
12
- клиентов, которые его используют .
9
+ Назначение: Определяет семейство схожих алгоритмов и помещает каждый из них в
10
+ собственный класс, после чего алгоритмы можно взаимозаменять прямо во время
11
+ исполнения программы .
13
12
"""
14
13
15
14
You can’t perform that action at this time.
0 commit comments