Discusión sobre el artículo "Patrones de diseño en MQL5 (Parte 3): Patrones conductuales 1"

 

Artículo publicado Patrones de diseño en MQL5 (Parte 3): Patrones conductuales 1:

En el nuevo artículo de la serie sobre patrones de diseño, nos ocuparemos de los patrones conductuales para comprender cómo crear de forma eficaz métodos de interacción entre los objetos creados. Diseñando estos patrones conductuales, podremos entender cómo construir software reutilizable, extensible y comprobable.

En este artículo, analizaremos los patrones conductuales relacionados con la asignación y atribución de responsabilidades a objetos. También definiremos cómo pueden interactuar los objetos entre sí; existen muchos patrones de este tipo, como los siguientes:

  • Cadena de responsabilidad (Chain of responsibility)
  • Comando (command)
  • Intérprete (Interpreter)
  • Iterador (Iterator)
  • Mediador (Mediator)
  • Recordatorio (Memento)
  • Observador (Observer)
  • Estado (State)
  • Estrategia (Strategy)
  • Método de patrones (Template Method)
  • Visitante (Visitor)

    Autor: Mohamed Abdelmaaboud

     

    después de

    no tienes que seguir leyendo

     
    Maxim Kuznetsov #:

    después de

    no tienes que seguir leyendo

    Es una traducción del inglés original.


    Puedes sustituirlo mentalmente por "handler". O simplemente no lo leas y escribe tus propios artículos.

    Artículo sobre el tema https://habr.com/ru/articles/113995/

    Паттерн проектирования «Цепочка обязанностей» / «Chain of Responsibility»
    Паттерн проектирования «Цепочка обязанностей» / «Chain of Responsibility»
    • 2011.02.17
    • habr.com
    Почитать описание других паттернов. Проблема Эффективно и компактно реализовать механизм обработки потока событий/запросов/сообщений в системах с потенциально большим количеством обработчиков. Описание Модель событие/обработчик широко применяется в программных системах из различных областей. В основном, это — графический интерфейс пользователя...
     
    Rashid Umarov #:

    Esta es una traducción del original inglés.


    Puedes sustituirlo mentalmente por "handler". O simplemente no lo leas y escribe tus propios artículos.

    Artículo sobre el tema https://habr.com/ru/articles/113995/

    no se trata de traducción... casi no hay texto en el artículo, por eso hay un estricto sesgo hacia el código.

    ¿el código de la captura de pantalla tiene alguna posibilidad de pasar la revisión de código?

    y acerca de "escribir su propio" - usted está en el saber, he sugerido una serie sobre el uso de gcc y el medio ambiente msys2, pero resultó que no se puede excepto MSVC

     
    Maxim Kuznetsov #:

    ¿Qué cree que es lo "correcto"?

     
    template<typename T>
    void ConcreteIterator::Next(void)
      {
       m_current++;
       if(!IsDone())
         {
         }
      }


    ¿Para qué sirveesto? Mirando el material sobre iteradores, hay estas opciones:

    1)

    template<typename T>
    void ConcreteIterator::Next(void)
      {
       m_current++;
      }

    2)

    template<typename T>
    void ConcreteIterator::Next(void)
      {   
       if(!IsDone())
         {
           m_current++;
         }
      }