Adapter – structural design pattern – library MetaTrader 5

Adapter - structural design pattern - library for MetaTrader 5
//—adapter———————————————————- //   structural design pattern //—adapter > intent //   convert the interface of a class into another expected interface //   classes with incompatible interfaces can work together //—adapter > benefits———————————————– //   interface to an object my vary //   refactoring problem resolved //      inability to alter classes conveniently //      also decorator, visitor //—adapter > applicability—————————————— //   interface does … Read more

Bridge – structural design pattern – library MetaTrader 5

Bridge - structural design pattern - library for MetaTrader 5
//+——————————————————————+ //|                                                       Bridge.mqh | //|                                     2019-2020, dmitri pecheritsa | //|                                                 792112@gmail.com | //+——————————————————————+ //| bridge > structural design pattern                               | //+——————————————————————+ //   design patterns: elements of reusable object-oriented software //   gof > erich gamma, richard helm, ralph johnson, john vlissides //   published in 1994 //+——————————————————————+ //| intent                                                           | //+——————————————————————+ //   abstraction and implementation > decoupled, … Read more

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