|
124 | 124 | - Call visit() and the entire structure gets traversed
|
125 | 125 |
|
126 | 126 |
|
127 |
| -## My TOP #10 Methods of Patterns |
| 127 | +## My TOP #11 Methods of Patterns |
128 | 128 |
|
129 |
| -| Name | Exercise | Test | Description | |
130 |
| -|:-----------------------------------------------------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| |
131 |
| -| [ Adapter](/src/1_patterns/3_StructuralPatterns/1_Adapter/) | [ Text and Exercise for Adapter](/src/2_exercises/2_StructuralPatterns/1_Adapter/) | [Test Adapter](/tests/2_StructuralPatterns/1_Adapter/test_adapter.py/) | Allows objects with incompatible interfaces to collaborate. | |
132 |
| -| [ Builder](/src/1_patterns/2_CreationalPatterns/1_Builder/) | [ Text and Exercise for Builder](/src/2_exercises/1_CreationalPatterns/1_Builder/) | [Test Builder](/tests/1_CreationalPatterns/1_Builder/test_builder.py/) | Lets you construct complex objects step by step. The pattern allows you to produce different types and representations of an object using the same construction code. | |
133 |
| -| [ Command](/src/1_patterns/4_BehavioralPatterns/2_Command/) | [ Text and Exercise for Command](/src/2_exercises/3_BehavioralPatterns/2_Command/) | [Test Command](/tests/3_BehavioralPatterns/2_Command/test_command.py/) | Turns a request into a stand-alone object that contains all information about the request. This transformation lets you parameterize methods with different requests, delay or queue a request's execution, and support undoable operations. | |
134 |
| -| [ Decorator](/src/1_patterns/3_StructuralPatterns/4_Decorator/) | [ Text and [Exercise for Decorator](/src/2_exercises/2_StructuralPatterns/4_Decorator/) | [Test Decorator](tests/2_StructuralPatterns/4_Decorator/test_decorator.py/) | Lets you attach new behaviors to objects by placing these objects inside special wrapper objects that contain the behaviors. | |
135 |
| -| [ Factories (Factory Method and Abstract Factory)](/src/1_patterns/2_CreationalPatterns/2_Factories/) | [ Text and Exercise for Factories (Factory Method and Abstract Factory)](/src/2_exercises/1_CreationalPatterns/2_Factories/) | [Test Factories (Factory Method and Abstract Factory)](/tests/1_CreationalPatterns/2_Factories/test_factories.py/) | Provides an interface for creating objects in a superclass, but allows subclasses to alter the type of objects that will be created. Abstract - Lets you produce families of related objects without specifying their concrete classes. | |
136 |
| -| [ Iterator](/src/1_patterns/4_BehavioralPatterns/4_Iterator/) | [ Text and Exercise for Iterator](/src/2_exercises/3_BehavioralPatterns/4_Iterator/) | [Test Iterator](/tests/3_BehavioralPatterns/4_Iterator/test_iterator.py/) | Lets you traverse elements of a collection without exposing its underlying representation (list, stack, tree, etc.). | |
137 |
| -| [ Observer](/src/1_patterns/4_BehavioralPatterns/7_Observer/) | [ Text and Exercise for Observer](/src/2_exercises/3_BehavioralPatterns/7_Observer/) | [Test Observer](/tests/3_BehavioralPatterns/7_Observer/test_observer.py/) | Lets you define a subscription mechanism to notify multiple objects about any events that happen to the object they're observing. | |
138 |
| -| [ Prototype](/src/1_patterns/2_CreationalPatterns/3_Prototype/) | [ Textand Exercise for Prototype](/src/2_exercises/1_CreationalPatterns/3_Prototype/) | [Test Prototype](/tests/1_CreationalPatterns/3_Prototype/test_prototype.py/) | Lets you copy existing objects without making your code dependent on their classes. | |
139 |
| -| [ Singleton](/src/1_patterns/2_CreationalPatterns/4_Singleton/) | [ Textand Exercise for Singleton](/src/2_exercises/1_CreationalPatterns/4_Singleton/) | [Test Singleton](/tests/1_CreationalPatterns/4_Singleton/test_singleton.py/) | Lets you ensure that a class has only one instance, while providing a global access point to this instance. | |
140 |
| -| [ Strategy](/src/1_patterns/4_BehavioralPatterns/9_Strategy/1_strategy.py/) | [ Text and Exercise for Strategy](/src/2_exercises/3_BehavioralPatterns/9_Strategy/) | [Test Strategy](tests/3_BehavioralPatterns/9_Strategy/test_strategy.py/) | Lets you define a family of algorithms, put each of them into a separate class, and make their objects interchangeable. | |
141 |
| -| [ Template](/src/1_patterns/4_BehavioralPatterns/10_Template/1_template_method.py/) | [ Text and Exercise for Template](/src/2_exercises/3_BehavioralPatterns/10_Template/) | [Test Template](/tests/3_BehavioralPatterns/10_Template/test_template_method.py/) | Defines the skeleton of an algorithm in the superclass but lets subclasses override specific steps of the algorithm without changing its structure. | |
| 129 | +| No | Name | Exercise | Test | Description | |
| 130 | +|:---:|:-----------------------------------------------------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| |
| 131 | +| 1. | [ Adapter](/src/1_patterns/3_StructuralPatterns/1_Adapter/) | [ Text and Exercise for Adapter](/src/2_exercises/2_StructuralPatterns/1_Adapter/) | [Test Adapter](/tests/2_StructuralPatterns/1_Adapter/test_adapter.py/) | Allows objects with incompatible interfaces to collaborate. | |
| 132 | +| 2. | [ Builder](/src/1_patterns/2_CreationalPatterns/1_Builder/) | [ Text and Exercise for Builder](/src/2_exercises/1_CreationalPatterns/1_Builder/) | [Test Builder](/tests/1_CreationalPatterns/1_Builder/test_builder.py/) | Lets you construct complex objects step by step. The pattern allows you to produce different types and representations of an object using the same construction code. | |
| 133 | +| 3. | [ Command](/src/1_patterns/4_BehavioralPatterns/2_Command/) | [ Text and Exercise for Command](/src/2_exercises/3_BehavioralPatterns/2_Command/) | [Test Command](/tests/3_BehavioralPatterns/2_Command/test_command.py/) | Turns a request into a stand-alone object that contains all information about the request. This transformation lets you parameterize methods with different requests, delay or queue a request's execution, and support undoable operations. | |
| 134 | +| 4. | [ Decorator](/src/1_patterns/3_StructuralPatterns/4_Decorator/) | [ Text and Exercise for Decorator](/src/2_exercises/2_StructuralPatterns/4_Decorator/) | [Test Decorator](tests/2_StructuralPatterns/4_Decorator/test_decorator.py/) | Lets you attach new behaviors to objects by placing these objects inside special wrapper objects that contain the behaviors. | |
| 135 | +| 5. | [ Factories (Factory Method and Abstract Factory)](/src/1_patterns/2_CreationalPatterns/2_Factories/) | [ Text and Exercise for Factories (Factory Method and Abstract Factory)](/src/2_exercises/1_CreationalPatterns/2_Factories/) | [Test Factories (Factory Method and Abstract Factory)](/tests/1_CreationalPatterns/2_Factories/test_factories.py/) | Provides an interface for creating objects in a superclass, but allows subclasses to alter the type of objects that will be created. Abstract - Lets you produce families of related objects without specifying their concrete classes. | |
| 136 | +| 6. | [ Iterator](/src/1_patterns/4_BehavioralPatterns/4_Iterator/) | [ Text and Exercise for Iterator](/src/2_exercises/3_BehavioralPatterns/4_Iterator/) | [Test Iterator](/tests/3_BehavioralPatterns/4_Iterator/test_iterator.py/) | Lets you traverse elements of a collection without exposing its underlying representation (list, stack, tree, etc.). | |
| 137 | +| 7. | [ Observer](/src/1_patterns/4_BehavioralPatterns/7_Observer/) | [ Text and Exercise for Observer](/src/2_exercises/3_BehavioralPatterns/7_Observer/) | [Test Observer](/tests/3_BehavioralPatterns/7_Observer/test_observer.py/) | Lets you define a subscription mechanism to notify multiple objects about any events that happen to the object they're observing. | |
| 138 | +| 8. | [ Prototype](/src/1_patterns/2_CreationalPatterns/3_Prototype/) | [ Textand Exercise for Prototype](/src/2_exercises/1_CreationalPatterns/3_Prototype/) | [Test Prototype](/tests/1_CreationalPatterns/3_Prototype/test_prototype.py/) | Lets you copy existing objects without making your code dependent on their classes. | |
| 139 | +| 9. | [ Singleton](/src/1_patterns/2_CreationalPatterns/4_Singleton/) | [ Textand Exercise for Singleton](/src/2_exercises/1_CreationalPatterns/4_Singleton/) | [Test Singleton](/tests/1_CreationalPatterns/4_Singleton/test_singleton.py/) | Lets you ensure that a class has only one instance, while providing a global access point to this instance. | |
| 140 | +| 10. | [ Strategy](/src/1_patterns/4_BehavioralPatterns/9_Strategy/1_strategy.py/) | [ Text and Exercise for Strategy](/src/2_exercises/3_BehavioralPatterns/9_Strategy/) | [Test Strategy](tests/3_BehavioralPatterns/9_Strategy/test_strategy.py/) | Lets you define a family of algorithms, put each of them into a separate class, and make their objects interchangeable. | |
| 141 | +| 11. | [ Template](/src/1_patterns/4_BehavioralPatterns/10_Template/1_template_method.py/) | [ Text and Exercise for Template](/src/2_exercises/3_BehavioralPatterns/10_Template/) | [Test Template](/tests/3_BehavioralPatterns/10_Template/test_template_method.py/) | Defines the skeleton of an algorithm in the superclass but lets subclasses override specific steps of the algorithm without changing its structure. | |
142 | 142 |
|
143 | 143 | ## Awknowledgements
|
144 | 144 |
|
|
148 | 148 |
|
149 | 149 | - **MT** - [milovantomasevic.com](https://milovantomasevic.com)
|
150 | 150 |
|
151 |
| -### Certificate of Completion – Udemy |
| 151 | +#### Certificate of Completion – Udemy |
152 | 152 |
|
153 | 153 | 
|
0 commit comments