文章"软件开发和 MQL5 中的设计范式(第一部分):创建范式"

 

新文章 软件开发和 MQL5 中的设计范式(第一部分):创建范式已发布:

有一些方法可以用来解决许多重复性的问题。一旦明白如何运用这些方法,就可助您有效地创建软件,并贯彻 DRY(不要重复自己)的概念。在这种境况下,设计范式的主题就非常好用,因为它们为恰当描述过,且重复的问题提供了解决方案。

创建范式的类都采用继承概念,故各种类都可作为一个实例,而创建范式对象实例的任务则交给另一个对象。当软件更多地关注对象组合远超类继承时,就会令创建范式变得更加重要。

我们可以说创建范式有两个反复出现的主题:

  • 它们用到封装的概念来把握系统可以使用的具体类。
  • 它们把创建类实例的方法组合在一起,并加以隐藏。

除了创建之时,创建范式还有助于在创建什么、创建谁、以及如何创建、等方面灵活应用。

它们还有助于抽象实例化过程,因为它们允许我们在不重复相同实现的情况下创建对象,这有助于令我们的代码更加灵活和简单。


作者:Mohamed Abdelmaaboud

 

我以为翻译人员在关于抽象工厂 的小节中犯了一点小错误,但不是,是作者自己犯的。

Какую проблему проектирования он решает?

所以,我们可以在以下情况下使用这个模板

  • 什么都没有
  • 我们需要一个独立的系统。
  • 需要一个配置有众多产品系列之一的系统。
  • 需要按照设计使用相关产品系列,并强制执行这一约束。
  • 只需要公开所提供类的接口,而不需要公开其实现。

使用抽象工厂的示例:

在英文源代码中是这样的:

它解决了什么设计问题?

因此,我们可以在以下情况中使用这种模式:

  • 我们需要一个独立的系统。
  • 我们需要一个由众多产品系列之一组成的配置系统。
  • 我们需要按照设计将一系列相关的产品对象放在一起使用,并强制执行这一约束。
  • 我们需要揭示的只是所提供类的接口,而不是它们的实现。


 
谢谢,已更正。
 

我的脾气会比较暴躁......

为了准确地使用术语,我将查看文章的英文原文。因此,作者就每个模板写道:" 我们如何在 MQL5 中使用它?这里需要注意的是,MQL5 是一种应用专业语言。那么它是什么呢?我们真的 能从材料中学 如何在 MQL5 中使用模板吗?不!我们看到的只是模板在 MQL5 中的实现。我认为,既然是模板,我们就应该先用伪代码来描述它,然后再用 MQL5 来描述它。理想的情况是,我们能看到在MQL5 中使用设计模式的实际例子。我不知道,也许我想得太多了,作者计划在单独的著作中考虑每种模板。但现在我们所拥有的....



Design Patterns in software development and MQL5 (Part I): Creational Patterns
Design Patterns in software development and MQL5 (Part I): Creational Patterns
  • www.mql5.com
There are methods that can be used to solve many problems that can be repeated. Once understand how to use these methods it can be very helpful to create your software effectively and apply the concept of DRY ((Do not Repeat Yourself). In this context, the topic of Design Patterns will serve very well because they are patterns that provide solutions to well-described and repeated problems.
原因: