|
2 | 2 |
|
3 | 3 | ## Design Patterns
|
4 | 4 |
|
5 |
| -### Creational design patterns (Порождающие шаблоны проектирования): |
| 5 | +_Design Pattern (Шаблон проектирования) - шаблон проектирования или паттерн в разработке программного обеспечения, повторяемая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста. Обычно шаблон не является законченным образцом, который может быть прямо преобразован в код, это лишь пример решения задачи, который можно использовать в различных ситуациях. Объектно-ориентированные шаблоны показывают отношения и взаимодействия между классами или объектами, без определения того, какие конечные классы или объекты приложения будут использоваться._ |
| 6 | + |
| 7 | +### Creational design patterns (Порождающие шаблоны проектирования) |
| 8 | + |
| 9 | +_Creational design patterns (Порождающие шаблоны проектирования) - шаблоны проектирования, которые имеют дело с процессом создания объектов. Они позволяют сделать систему независимой от способа создания, композиции и представления объектов. Шаблон, порождающий классы, использует наследование, чтобы изменять наследуемый класс, а шаблон, порождающий объекты, делегирует инстанцирование другому объекту. Эти шаблоны оказываются важны, когда система больше зависит от композиции объектов, чем от наследования классов. Получается так, что основной упор делается не на жестком кодировании фиксированного набора поведений, а на определении небольшого набора фундаментальных поведений, с помощью композиции которых можно получать любое число более сложных. Таким образом, для создания объектов с конкретным поведением требуется нечто большее, чем простое инстанцирование класса._ |
6 | 10 |
|
7 | 11 | - **Singleton** _- одиночка, порождающий шаблон проектирования, гарантирующий, что в однопоточном приложении будет единственный экземпляр некоторого класса, и предоставляющий глобальную точку доступа к этому экземпляру._
|
8 | 12 |
|
|
14 | 18 |
|
15 | 19 | - **Builder** _- строитель, порождающий шаблон проектирования предоставляет способ создания составного объекта. Отделяет конструирование сложного объекта от его представления так, что в результате одного и того же процесса конструирования могут получаться разные представления._
|
16 | 20 |
|
17 |
| -### Structural design patterns (Структурные шаблоны проектирования): |
| 21 | +### Structural design patterns (Структурные шаблоны проектирования) |
| 22 | + |
| 23 | +_Structural design patterns (Структурные шаблоны проектирования) - шаблоны проектирования, в которых рассматривается вопрос о том, как из классов и объектов образуются более крупные структуры. Структурные шаблоны уровня класса используют наследование для составления композиций из интерфейсов и реализаций. Простой пример - использование множественного наследования для объединения нескольких классов в один. В результате получается класс, обладающий свойствами всех своих родителей. Особенно полезен этот шаблон, когда нужно организовать совместную работу нескольких независимо разработанных библиотек._ |
18 | 24 |
|
19 | 25 | - **Decorator** _- декоратор, структурный шаблон проектирования, предназначенный для динамического подключения дополнительного поведения к объекту. Шаблон Декоратор предоставляет гибкую альтернативу практике создания подклассов с целью расширения функциональности._
|
20 | 26 |
|
|
24 | 30 |
|
25 | 31 | - **Adapter** _- адаптер, структурный шаблон проектирования, предназначенный для организации использования функций объекта, недоступного для модификации, через специально созданный интерфейс. Другими словами - это структурный паттерн проектирования, который позволяет объектам с несовместимыми интерфейсами работать вместе._
|
26 | 32 |
|
27 |
| -### Behavioral design patterns (Поведенческие шаблоны проектирования): |
| 33 | +- **Composite** _- компоновщик, структурный шаблон проектирования, объединяющий объекты в древовидную структуру для представления иерархии от частного к целому. Компоновщик позволяет клиентам обращаться к отдельным объектам и к группам объектов одинаково._ |
| 34 | + |
| 35 | +### Behavioral design patterns (Поведенческие шаблоны проектирования) |
| 36 | + |
| 37 | +_Behavioral design patterns (Поведенческие шаблоны проектирования) - шаблоны проектирования, определяющие алгоритмы и способы реализации взаимодействия различных объектов и классов. В поведенческих шаблонах уровня класса используется наследование, чтобы определить поведение для различных классов. В поведенческих шаблонах уровня объекта используется композиция. Некоторые из них описывают, как с помощью кооперации несколько равноправных объектов работают над заданием, которое они не могут выполнить по отдельности. Здесь важно то, как объекты получают информацию о существовании друг друга. Объекты-коллеги могут хранить ссылки друг на друга, но это усиливает степень связанности системы. При высокой связанности каждому объекту пришлось бы иметь информацию обо всех остальных. Некоторые из шаблонов решают эту проблему._ |
28 | 38 |
|
29 | 39 | ### Common JavaScript design patterns (Общие шаблоны проектирования JavaScript):
|
30 | 40 |
|
|
0 commit comments