Composite – structural design pattern – library MetaTrader 5

Composite - structural design pattern - library for MetaTrader 5
//+——————————————————————+ //|                                                    Composite.mqh | //|                                    2019-2020, dimitri pecheritsa | //|                                                 792112@gmail.com | //+——————————————————————+ //| src > patterns > structural > composite                          | //+——————————————————————+ //   design patterns: elements of reusable object-oriented software //   gof > erich gamma, richard helm, ralph johnson, john vlissides //   published in 1994 //+——————————————————————+ //| intent                                                           | //+——————————————————————+ //   object tree > represents > part-whole … Read more

Decorator – structural design pattern – library MetaTrader 5

Decorator - structural design pattern - library for MetaTrader 5
//+——————————————————————+ //|                                                    Decorator.mqh | //|                                    2019-2020, dimitri pecheritsa | //|                                                 792112@gmail.com | //+——————————————————————+ //| decorator < structural design pattern                            | //+——————————————————————+ //   design patterns: elements of reusable object-oriented software //   gof > erich gamma, richard helm, ralph johnson, john vlissides //   published in 1994 //+——————————————————————+ //| intent                                                           | //+——————————————————————+ //   attach — additional responsibilities — to an object … Read more

Facade – structural design pattern – library MetaTrader 5

Facade - structural design pattern - library for MetaTrader 5
//+——————————————————————+ //|                                                       Facade.mqh | //|                                    2019-2020, dimitri pecheritsa | //|                                                 792112@gmail.com | //+——————————————————————+ //| facade > structural design pattern                               | //+——————————————————————+ //   design patterns: elements of reusable object-oriented software //   gof > erich gamma, richard helm, ralph johnson, john vlissides //   published > 1994 //+——————————————————————+ //| intent                                                           | //+——————————————————————+ //   provide a unified interface to a … Read more

Flyweight – structural design pattern – library MetaTrader 5

Flyweight - structural design pattern - library for MetaTrader 5
//+——————————————————————+ //|                                                    Flyweight.mqh | //|                                    2019-2020, dimitri pecheritsa | //|                                                 792112@gmail.com | //+——————————————————————+ //| flyweight > structural design pattern                            | //+——————————————————————+ //   design patterns: elements of reusable object-oriented software //   gof > erich gamma, richard helm, ralph johnson, john vlissides //   published > 1994 //+——————————————————————+ //| intent                                                           | //+——————————————————————+ //   use sharing to support large numbers of fine-grained … Read more

Proxy – structural design pattern – library MetaTrader 5

Proxy - structural design pattern - library for MetaTrader 5
//+——————————————————————+ //|                                                        Proxy.mqh | //|                                    2019-2020, dimitri pecheritsa | //|                                                 792112@gmail.com | //+——————————————————————+ //| proxy — structural design pattern                                | //+——————————————————————+ //   design patterns: elements of reusable object-oriented software //   gof > erich gamma, richard helm, ralph johnson, john vlissides //   published — 1994 //+——————————————————————+ //| intent                                                           | //+——————————————————————+ //   provide a surrogate or placeholder for another object … Read more

Chain of responsibility – behavioral design pattern – library MetaTrader 5

Chain of responsibility - behavioral design pattern - library for MetaTrader 5
//+——————————————————————+ //|                                        ChainOfResponsibility.mqh | //|                                    2019-2020, dimitri pecheritsa | //|                                                 792112@gmail.com | //+——————————————————————+ //| chain of responsibility — behavioral design pattern              | //+——————————————————————+ //   design patterns: elements of reusable object-oriented software //   gof > erich gamma, richard helm, ralph johnson, john vlissides //   published — 1994 //+——————————————————————+ //| intent                                                           | //+——————————————————————+ //   avoid coupling the sender of a … Read more

Command – behavioral design pattern – library MetaTrader 5

Command - behavioral design pattern - library for MetaTrader 5
//+——————————————————————+ //|                                                      Command.mqh | //|                                    2019-2020, dimitri pecheritsa | //|                                                 792112@gmail.com | //+——————————————————————+ //| command — behavioral design pattern                              | //+——————————————————————+ //   design patterns: elements of reusable object-oriented software //   gof > erich gamma, richard helm, ralph johnson, john vlissides //   published — 1994 //+——————————————————————+ //| intent                                                           | //+——————————————————————+ //   encapsulate a request as an object //    thereby letting … Read more

Interpreter – behavioral design pattern – library MetaTrader 5

Interpreter - behavioral design pattern - library for MetaTrader 5
//+——————————————————————+ //|                                                  Interpreter.mqh | //|                                    2019-2020, dimitri pecheritsa | //|                                                 792112@gmail.com | //+——————————————————————+ //| interpreter — behavioral design pattern                          | //+——————————————————————+ //   design patterns: elements of reusable object-oriented software //   gof > erich gamma, richard helm, ralph johnson, john vlissides //   published — 1994 //+——————————————————————+ //| intent                                                           | //+——————————————————————+ //   given a language, define a represention for its … Read more

Iterator – behavioral design pattern – library MetaTrader 5

Iterator - behavioral design pattern - library for MetaTrader 5
//+——————————————————————+ //|                                                201021_113117.mq5 | //|                                    2019-2020, dimitri pecheritsa | //|                                                 792112@gmail.com | //+——————————————————————+ //   from: design patterns: elements of reusable object-oriented software //   by: gof: erich gamma, richard helm, ralph johnson, john vlissides //   published in 1994 //+——————————————————————+ //| iterator – behavioral design pattern                             | //+——————————————————————+ //   provide a way to access the elements of an aggregate … Read more

Mediator – behavioral design pattern – library MetaTrader 5

Mediator - behavioral design pattern - library for MetaTrader 5
//+——————————————————————+ //|                                                201028_095428.mq5 | //|                                    2019-2020, dimitri pecheritsa | //|                                                 792112@gmail.com | //+——————————————————————+ //   from: design patterns: elements of reusable object-oriented software //   by gof: erich gamma, richard helm, ralph johnson, john vlissides //   published in 1994 //+——————————————————————+ //| mediator – behavioral design pattern                             | //+——————————————————————+ //   define an object that encapsulates how a set of objects … Read more