文章 "软件开发和 MQL5 中的设计范式(第 3 部分):行为范式 1"

 

新文章 软件开发和 MQL5 中的设计范式(第 3 部分):行为范式 1已发布:

来自设计范式文献的一篇新文章,我们将看到类型其一,即行为范式,从而理解我们如何有效地在所创建对象之间构建通信方法。通过完成这些行为范式,我们就能够理解创建和构建可重用、可扩展、经过测试的软件。

在本文中,我们提供的行为范式,与分配和设置对象之间的责任有关。它们还辨别对象如何相互通信或交互,并且该类型下有许多范式,如下所示:

  • 责任(responsibility)链
  • 命令(Command)
  • 解释器(Interpreter)
  • 迭代器(Iterator)
  • 调解器(Mediator)
  • 备忘录(Memento)
  • 观察者(Observer)
  • 状态(State)
  • 策略(Strategy)
  • 模板(Template)方法
  • 游客(Visitor)

    作者:Mohamed Abdelmaaboud

     

    之后

    你就不用再读下去了

     
    Maxim Kuznetsov #:

    你就不用再读下去了

    这是从英文原文翻译过来的。


    你可以用 "handler "来代替它。或者干脆不读,自己写文章。

    有关主题的文章https://habr.com/ru/articles/113995/

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

    这是对英文原文的翻译。


    你可以用 "handler "代替它。或者干脆不读,自己写文章。

    相关文章https://habr.com/ru/articles/113995/

    这不是翻译的问题......文章中几乎没有文字,这就是为什么对代码有严格的偏见。

    截图中的代码有机会通过代码审查吗?

    关于 "自己写"--您是知道的,我曾建议过一系列关于使用 gcc 和 msys2 环境的文章,但结果发现除了 MSVC 之外,您是无法使用的

     
    Maxim Kuznetsov #:

    您认为怎样做才是 "正确 "的?

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


    到底是做什么用的?查阅了有关迭代器的资料,有以下几种选择:

    1)

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

    2)

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