巴解组织的间接费用 - 页 5

 
fxsaber:

你有你自己的包装纸,另一个人有他自己的。问题是,是否有可能创建一个比MQL4更方便的包装器。

我不认为有什么可选择的...

就我个人而言,我只需要包装器来实现跨平台--将专家顾问的逻辑与这个或那个平台的具体情况分开。

 
Andrei:

当然,你必须为OOP的美丽付出资源和大量的时间来进行调试。OOP只有在作为一个方便的文本包装或者在运行时初始化过程中最小限度地使用时才有意义......。实际上,OOP 只是微软的一个营销手段,目的是增加程序员的工作时间成本,刺激他们购买更先进的设备。而且他们自己也不是傻瓜,用C语言和汇编编写所有的软件。

你是一个多么有远见的人啊...

 
govich:

你是一个梦想家,不是吗?

对于讨论的话题,你有什么有意义的话要讲吗?

 

我又一次遇到了...

在MQL中,不可能 "不歪曲地 "将方法的实现与原型分开,也没有办法为用户(客户、测试员、朋友/好友)提供单独的*.mqh文件和单独的*.ex4文件(类似于C++中的*.h和.obj/lib/dll)。

 
Maxim Kuznetsov:

我又一次遇到了...

在MQL中,不可能 "无条件地 "将方法的实现与原型分开,也没有办法向用户(客户、测试员、朋友/好友)提供单独的*.mqh文件和单独的*.ex4文件(类似于C++中的*.h和.obj/lib/dll)。

你能不能更具体地说明任务?提供一个带有导入 工厂的头,返回干净的接口,整个实现被塞进ex4里面,似乎是相当直接的。

 
Stanislav Korotky:

你能更具体地说明任务吗?似乎可以用导入的工厂提供头,返回干净的接口,而所有的实现都存储在ex4里面。

我们的任务是以最少的努力为用户提供类库,其中包括:描述类的mqh和存储其实现的ex4。

迄今为止,唯一的选择是用拐杖拖着大量的文字来绕过这个瓶颈。

如果你知道一个简短而方便的方法来删除ex4中的CFoo实现,请分享这个秘诀。

class CFoo {
public:
   CFoo();                         //default
  CFoo(const CFoo orig); // copy
   ~CFoo();
   bool Set(string key,CFoo & link); 
   CFoo *Get(string key);
   bool Clear(string key);

};

 
Maxim Kuznetsov:

任务是为用户提供一个类库,包括:描述类的mqh和实现类的ex4。

到目前为止,唯一的选择是用拐杖拉动大量的文字来绕过这个瓶颈。

如果你知道一个简短而方便的方法来删除ex4中的CFoo实现,请分享这个秘诀。

class CFoo {
public:
   CFoo();                         //default
  CFoo(const CFoo orig); // copy
   ~CFoo();
   bool Set(string key,CFoo & link); 
   CFoo *Get(string key);
   bool Clear(string key);

};

好吧,我已经写了一个方法--为什么不适合呢?你做了一个工厂方法 或函数,它返回头文件中描述的抽象类(接口)。整个实施过程是隐藏的。真正的例子可以找到,例如,在我的博客中,关于专家的优化库的飞行(英文)。

Фабричный метод (шаблон проектирования) — Википедия
Фабричный метод (шаблон проектирования) — Википедия
  • ru.wikipedia.org
Шаблон проектирования Тип: Назначение: Структура: Плюсы: Минусы: Описан в Design Patterns Фабричный метод (англ.  также известен как Виртуальный конструктор (англ.  )) — порождающий шаблон проектирования, предоставляющий подклассам интерфейс для создания экземпляров некоторого класса. В момент создания наследники могут определить, какой...
 
Stanislav Korotky:

好吧,我已经写了一个方法--这有什么不对吗?你做了一个工厂方法 或函数,它返回头文件中描述的一个抽象类(接口)。整个实施过程是隐藏的。真正的例子可以找到,例如,在我的博客中,关于专家的优化库的飞行(英文)。

尝试抛出源代码。而且大家都知道这里的维基的链接
 
Maxim Kuznetsov:
试着把源代码扔进去。而且大家都知道维基的链接

链接到源维基不就可以了吗?;-)

 
Stanislav Korotky:

链接到源维基不就可以了吗?;-)

但它不会 :-)

我告诉你--试着去做吧,这是个激烈的大量代码。Instantifiable类 "CFoo: public InterfaceCFoo "必须包含字段InterfaceCFoo *privateContext(做1:1的链接),通过工厂创建和删除它,委托所有方法并在这里和那里翻译CFoo*引用this<->privateContext。这就是 "手工日落",即用委托代替继承,而且是在现场。