给OOP专家的一个问题。 - 页 15 1...8910111213141516171819202122...55 新评论 Igor Makanu 2019.08.29 16:23 #141 Alexey Navoykov: 所以我不明白把你的 "功夫 "与OOP具体对比的意义。 他是认真的! 标签 Konow: 我正准备为我的概念申请专利。有投资者。所以,这很严重。 昨天晚上我读了梦游的线程....不知道为什么,我想象着一长串的Windows开发者的名单--就像《星球大战》的片头一样!"。 而在名单的最后--大字是ReTeg Konow ! @Peter Konow 你能做一个这样的文字精灵吗?) Georgiy Merts 2019.08.29 16:50 #142 Alexey Navoykov: 你记得你目前正在进行的项目中的一切。过去的代码呢?你对一年前写的东西记得同样彻底吗?现在的任务是调整或纠正你的旧代码。 而这一切都与OOP无关。如果你的代码建立在对全局变量的公共访问上,那么在任何范式中都是不能接受的,既不是程序化,也不是OOP,更不是函数式。 因此,我认为将你的 "功夫 "与OOP对比没有任何意义。 一切都取决于彼得惊人的记忆力。 我同意,如果你记住了整个项目 中使用的所有变量,何时何地被修改,很容易找到不正确的修改之处--那么这个OOP确实变得毫无意义。 彼得,事实上,在 "汇编者水平 "上工作。无论你想出什么样的OOP-hacks和设计模式,最终任何数据访问都是普通的内存地址,在分配给进程的地址空间内,所有的内存地址都可以完全访问。处理器本身对封装一无所知。 有,这就是彼得的运作方式。 曾经有一段时间,我自己也喜欢汇编。 唯一的问题是它如何在内存能力方面与处理器竞争。 Alexey Navoykov 2019.08.29 17:11 #143 Georgiy Merts:这一切都归功于彼得惊人的记忆力...唯一的问题是他如何在内存容量方面与处理器竞争。 那么,当我们在谈论一个相同的项目 时,他一直在做的现象是什么呢?自然,任何一个程序员都会在他的脑海中一直有这一切。如果他能在一段时间后清楚地记住密码,那将是另一回事。 Georgiy Merts 2019.08.29 18:47 #144 Alexey Navoykov: 那么,如果我们谈论的是他一直在做的同一个项目,那么什么是表象?自然,任何一个程序员都会在他的脑海中一直有这一切。 如果他在一段时间后能清楚地记住密码,那么就再谈一次。 那么,我就不是普通人了。我也是,大部分时间都在做同一个项目,然而,我只记得基本要点。诸如什么和从什么程序修改的细节--我只在直接发展的时刻看到。然后,如果我回到这个领域--我花了很多时间试图理解为什么是这样而不是其他。因此,我是一个支持切断所有权利的人,所以理想情况下,在程序的任何地方,你只能访问你在那个地方应该做的事情。 Реter Konow 2019.08.30 16:36 #145 Alexey Navoykov: 你记得你目前正在进行的项目中的一切。过去的代码呢?你还记得一年前你写的东西那么彻底吗?现在的任务是调整或纠正你的旧代码。 而这一切都与OOP无关。如果你的代码建立在对全局变量的公共访问上,这在任何范式中都是不能接受的,既不是程序化,也不是OOP,更不是函数式。 因此,我不认为将你的 "功夫 "与OOP对比有任何意义。 是的,我对旧代码的记忆和理解非常快。这个项目 非常大,有些部分已经几个月甚至几年没有改动了,当需要改进某些东西的时候(比如说古老的列表),我会在很短的时间内浏览所有的细节,刷新我对它如何工作的记忆,没有注释,在源代码中几乎不存在。我记得我看的是裸露的代码。而出于某种原因,在我看来,每个人都可以做到这一点。 Реter Konow 2019.08.30 16:46 #146 Alexey Navoykov: ... 而这一切都与OOP无关。如果你的代码建立在对全局变量的公共访问上,那么在任何范式中都是不能接受的,既不是程序式,也不是OOP,更不是函数式。 因此,我认为将你的 "功夫 "与OOP对比没有任何意义。 不,这里的功夫正好是OOP。大量的动作和技术,其中在战斗中10%是有用的。但是,多么美丽的风格啊!还有龙,还有猴子,还有火烈鸟和蟾蜍......。我有一个特定的三宝。你砍了,你就得到了结果。 Georgiy Merts 2019.08.30 17:19 #147 Реter Konow: 不,这里是OOP的功夫。大量的动作和技巧,其中10%在战斗中会派上用场。但是,多么美丽的风格啊!龙、猴子、火烈鸟和蟾蜍......我有一个特定的三宝。你砍了,你就得到了结果。 并非如此。 关于封装和权利约束的用处,我以前已经说过一百次了。 在处理有一个共同的虚拟接口、但实现方式明显不同的项目列表时,可以清楚地看到继承和多态性的用处。 下面是我本周刚刚遇到的最简单的情况:有一个结构列表,其中一个字段是一个双值。于是就有了用OOP对这些数值进行近似的想法。 如果没有OOP,我要么就得完全编写程序来创建相应的SLAE并解决它们。或者,如果我已经有这样一个程序来处理一个数组的值--编写程序来创建这样一个数组,并将其传递给库函数。 通过OOP - 我继承了CLSMCore类,并重载了返回点值的虚拟函数。我马上就能得到近似多项式的系数。 也就是说,在同等条件下(当我们有一个库函数或类),如果不引入一个额外的中间数组,我就会失去OOP。更不用说需要弄清楚到底如何填充。(值检索函数--无论是否有OOP--都需要编写)。在我看来,主要优势是支持和修改的简单性。有了OOP,需要理解的东西就少了。而在一开始,我在编写CLSMCore类上花费的精力绝对和我在没有OOP的情况下在库中的近似函数上花费的精力一样多。 Реter Konow 2019.08.30 17:44 #148 Georgiy Merts: 并非如此。 关于封装和权利约束的用处,我以前已经说过一百次了。 在处理共享一个共同的虚拟接口的项目列表时,可以清楚地看到继承和多态性的用处,但实现方式明显不同。 下面是我本周刚刚遇到的最简单的情况:有一个结构列表,其中一个字段是一个双值。于是就有了用OOP对这些数值进行近似的想法。 如果没有OOP,我要么就得完全编写程序来创建相应的SLAE并解决它们。或者,如果我已经有这样一个程序来处理一个数组的值--编写程序来创建这样一个数组,并将其传递给库函数。 通过OOP - 我继承了CLSMCore类,并重载了返回点值的虚拟函数。我马上就能得到近似多项式的系数。 也就是说,在同等条件下(当我们有一个库函数或类),如果不引入一个额外的中间数组,我就会失去OOP。更不用说需要弄清楚到底如何填充它了。(值检索函数--无论是否有OOP--都需要编写)。在我看来,主要优势是支持和修改的简单性。有了OOP,需要理解的东西就少了。而在一开始,我在编写CLSMCore类上花费的精力和在没有OOP的情况下在库的近似函数上花费的精力一样多。 例如,我一直不明白需要什么函数重载。这很荒唐,不是吗?我们做一个没有参数的函数,在里面写出所有重载函数的计算结果,使变量成为全局变量,并可以从任何其他函数中获取结果。嗯,这不是很好吗!? 但是没有!我们将把所有的计算分成名称相同但参数不同的函数。而我们将为每个函数制作一个输入参数堆。不,那是不够的。让我们把参数的名字变得不可读。而我们将制作各种数组,与它们混合传递。我们将制作一打这样的功能,这样我们就必须对每一个功能进行思考。而且我们将确保对它们的访问将被加密。为了使语法更加复杂。这就是专业精神! 对不起,乔治。我已经受够了。 ZS.只有一个全局数组,用于存放10个重载函数的结果,以及一个不带参数的函数来完成它们的工作。怎么会比这更糟呢?语法减少10倍。 Georgiy Merts 2019.08.30 18:20 #149 Реter Konow: 我就从来没有理解过为什么函数需要被重载。这很荒唐,不是吗?你做一个没有参数的函数,把所有重载函数的计算都写在里面,让变量成为全局变量,并可以访问任何其他函数的结果。嗯,这不是很好吗!? 但是没有!我们将把所有的计算分成名称相同但参数不同的函数。而我们将为每个函数制作一个输入参数堆。不,那是不够的。让我们把参数的名字变得不可读。而我们将制作各种数组,与它们混合传递。我们将制作一打这样的功能,这样我们就必须对每一个功能进行思考。而且我们将确保对它们的访问将被加密。为了使语法更加复杂。这就是专业精神! 对不起,乔治。我很抱歉,乔治。 SZY.只有一个全局数组,用于存放10个重载函数的结果和一个不带参数的函数来完成它们的工作。 怎么会比这更糟呢?语法减少10倍。 这是正确的,告诉我更多关于这个功能的信息。你有一个怪物般大小的开关,可以选择十几种功能中的一种。在这样的切换中,很容易犯错,不小心把属于其中一个分支的代码写错了地方。 有了过载,事情就简单多了。我们有十个不同的后代,而每次我们都是用一个类,它有一个可重载的函数。我们不能意外地把它写在另一个类中,因为我们必须为它打开一个完全不同的文件。 另外--在我看来,在这个非常巨大的开关中,解析本身比打开我们需要的一个类,然后只解析一个函数要紧张得多。 事实上,在汇编代码中,所有这个开关的处理都归结为同一个开关,取决于这个指针。但在OOP的情况下,所有这些都被隐藏起来,不会干扰到程序员的工作。没有OOP--你就必须处理它。 粗略地说,当你走路时--你最终以一定的顺序向你的肌肉发送信号,使其运动。然而,在意识的层面上--你只是记得要做哪个动作。在这里,OOP正是那种 "记忆要做什么动作"。 你 "不明白为什么我们需要记住动作,因为我们有一堆肌肉,以及与之相连的神经"。 嗯......我以前说过很多次,对于记忆力强的人来说,记住哪些肌肉要按什么顺序绷紧,真的很够用了。记住整个运动是没有意义的。对于其他不能记住这么多的人来说,记住整个动作,以及肌肉发生了什么,以什么顺序绷紧,绷到什么程度--把它藏在心里更合理。 [删除] 2019.08.30 18:28 #150 Реter Konow: 我就从来没有理解过为什么函数需要被重载。这很荒唐,不是吗?你做一个没有参数的函数,把所有重载函数的计算都写在里面,让变量成为全局变量,并可以访问任何其他函数的结果。嗯,这不是很好吗!? 巨大的,你在做某种自行车的建设,而没有适当的研究常见的方法。Peter,找一些好书,也许是Stroustrup,在一些书中他写了一个文本编辑器,在一个真实的问题上你会学到一些东西,我不记得内容了,但它不可能教你坏东西。 1...8910111213141516171819202122...55 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
他是认真的!
我正准备为我的概念申请专利。有投资者。所以,这很严重。
昨天晚上我读了梦游的线程....不知道为什么,我想象着一长串的Windows开发者的名单--就像《星球大战》的片头一样!"。
而在名单的最后--大字是ReTeg Konow !

@Peter Konow 你能做一个这样的文字精灵吗?)你记得你目前正在进行的项目中的一切。过去的代码呢?你对一年前写的东西记得同样彻底吗?现在的任务是调整或纠正你的旧代码。
一切都取决于彼得惊人的记忆力。
我同意,如果你记住了整个项目 中使用的所有变量,何时何地被修改,很容易找到不正确的修改之处--那么这个OOP确实变得毫无意义。 彼得,事实上,在 "汇编者水平 "上工作。无论你想出什么样的OOP-hacks和设计模式,最终任何数据访问都是普通的内存地址,在分配给进程的地址空间内,所有的内存地址都可以完全访问。处理器本身对封装一无所知。
有,这就是彼得的运作方式。 曾经有一段时间,我自己也喜欢汇编。
唯一的问题是它如何在内存能力方面与处理器竞争。
这一切都归功于彼得惊人的记忆力
...
唯一的问题是他如何在内存容量方面与处理器竞争。
那么,如果我们谈论的是他一直在做的同一个项目,那么什么是表象?自然,任何一个程序员都会在他的脑海中一直有这一切。
那么,我就不是普通人了。我也是,大部分时间都在做同一个项目,然而,我只记得基本要点。诸如什么和从什么程序修改的细节--我只在直接发展的时刻看到。然后,如果我回到这个领域--我花了很多时间试图理解为什么是这样而不是其他。因此,我是一个支持切断所有权利的人,所以理想情况下,在程序的任何地方,你只能访问你在那个地方应该做的事情。
你记得你目前正在进行的项目中的一切。过去的代码呢?你还记得一年前你写的东西那么彻底吗?现在的任务是调整或纠正你的旧代码。
Alexey Navoykov:
...
不,这里的功夫正好是OOP。大量的动作和技术,其中在战斗中10%是有用的。但是,多么美丽的风格啊!还有龙,还有猴子,还有火烈鸟和蟾蜍......。我有一个特定的三宝。你砍了,你就得到了结果。
不,这里是OOP的功夫。大量的动作和技巧,其中10%在战斗中会派上用场。但是,多么美丽的风格啊!龙、猴子、火烈鸟和蟾蜍......我有一个特定的三宝。你砍了,你就得到了结果。
并非如此。
关于封装和权利约束的用处,我以前已经说过一百次了。
在处理有一个共同的虚拟接口、但实现方式明显不同的项目列表时,可以清楚地看到继承和多态性的用处。
下面是我本周刚刚遇到的最简单的情况:有一个结构列表,其中一个字段是一个双值。于是就有了用OOP对这些数值进行近似的想法。
如果没有OOP,我要么就得完全编写程序来创建相应的SLAE并解决它们。或者,如果我已经有这样一个程序来处理一个数组的值--编写程序来创建这样一个数组,并将其传递给库函数。
通过OOP - 我继承了CLSMCore类,并重载了返回点值的虚拟函数。我马上就能得到近似多项式的系数。
也就是说,在同等条件下(当我们有一个库函数或类),如果不引入一个额外的中间数组,我就会失去OOP。更不用说需要弄清楚到底如何填充。(值检索函数--无论是否有OOP--都需要编写)。在我看来,主要优势是支持和修改的简单性。有了OOP,需要理解的东西就少了。而在一开始,我在编写CLSMCore类上花费的精力绝对和我在没有OOP的情况下在库中的近似函数上花费的精力一样多。
并非如此。
关于封装和权利约束的用处,我以前已经说过一百次了。
在处理共享一个共同的虚拟接口的项目列表时,可以清楚地看到继承和多态性的用处,但实现方式明显不同。
下面是我本周刚刚遇到的最简单的情况:有一个结构列表,其中一个字段是一个双值。于是就有了用OOP对这些数值进行近似的想法。
如果没有OOP,我要么就得完全编写程序来创建相应的SLAE并解决它们。或者,如果我已经有这样一个程序来处理一个数组的值--编写程序来创建这样一个数组,并将其传递给库函数。
通过OOP - 我继承了CLSMCore类,并重载了返回点值的虚拟函数。我马上就能得到近似多项式的系数。
也就是说,在同等条件下(当我们有一个库函数或类),如果不引入一个额外的中间数组,我就会失去OOP。更不用说需要弄清楚到底如何填充它了。(值检索函数--无论是否有OOP--都需要编写)。在我看来,主要优势是支持和修改的简单性。有了OOP,需要理解的东西就少了。而在一开始,我在编写CLSMCore类上花费的精力和在没有OOP的情况下在库的近似函数上花费的精力一样多。
例如,我一直不明白需要什么函数重载。这很荒唐,不是吗?我们做一个没有参数的函数,在里面写出所有重载函数的计算结果,使变量成为全局变量,并可以从任何其他函数中获取结果。嗯,这不是很好吗!?
但是没有!我们将把所有的计算分成名称相同但参数不同的函数。而我们将为每个函数制作一个输入参数堆。不,那是不够的。让我们把参数的名字变得不可读。而我们将制作各种数组,与它们混合传递。我们将制作一打这样的功能,这样我们就必须对每一个功能进行思考。而且我们将确保对它们的访问将被加密。为了使语法更加复杂。这就是专业精神!
对不起,乔治。我已经受够了。
ZS.只有一个全局数组,用于存放10个重载函数的结果,以及一个不带参数的函数来完成它们的工作。怎么会比这更糟呢?语法减少10倍。
我就从来没有理解过为什么函数需要被重载。这很荒唐,不是吗?你做一个没有参数的函数,把所有重载函数的计算都写在里面,让变量成为全局变量,并可以访问任何其他函数的结果。嗯,这不是很好吗!?
但是没有!我们将把所有的计算分成名称相同但参数不同的函数。而我们将为每个函数制作一个输入参数堆。不,那是不够的。让我们把参数的名字变得不可读。而我们将制作各种数组,与它们混合传递。我们将制作一打这样的功能,这样我们就必须对每一个功能进行思考。而且我们将确保对它们的访问将被加密。为了使语法更加复杂。这就是专业精神!
对不起,乔治。我很抱歉,乔治。
SZY.只有一个全局数组,用于存放10个重载函数的结果和一个不带参数的函数来完成它们的工作。 怎么会比这更糟呢?语法减少10倍。
这是正确的,告诉我更多关于这个功能的信息。你有一个怪物般大小的开关,可以选择十几种功能中的一种。在这样的切换中,很容易犯错,不小心把属于其中一个分支的代码写错了地方。
有了过载,事情就简单多了。我们有十个不同的后代,而每次我们都是用一个类,它有一个可重载的函数。我们不能意外地把它写在另一个类中,因为我们必须为它打开一个完全不同的文件。
另外--在我看来,在这个非常巨大的开关中,解析本身比打开我们需要的一个类,然后只解析一个函数要紧张得多。
事实上,在汇编代码中,所有这个开关的处理都归结为同一个开关,取决于这个指针。但在OOP的情况下,所有这些都被隐藏起来,不会干扰到程序员的工作。没有OOP--你就必须处理它。
粗略地说,当你走路时--你最终以一定的顺序向你的肌肉发送信号,使其运动。然而,在意识的层面上--你只是记得要做哪个动作。在这里,OOP正是那种 "记忆要做什么动作"。 你 "不明白为什么我们需要记住动作,因为我们有一堆肌肉,以及与之相连的神经"。 嗯......我以前说过很多次,对于记忆力强的人来说,记住哪些肌肉要按什么顺序绷紧,真的很够用了。记住整个运动是没有意义的。对于其他不能记住这么多的人来说,记住整个动作,以及肌肉发生了什么,以什么顺序绷紧,绷到什么程度--把它藏在心里更合理。
Реter Konow:
我就从来没有理解过为什么函数需要被重载。这很荒唐,不是吗?你做一个没有参数的函数,把所有重载函数的计算都写在里面,让变量成为全局变量,并可以访问任何其他函数的结果。嗯,这不是很好吗!?
巨大的,你在做某种自行车的建设,而没有适当的研究常见的方法。Peter,找一些好书,也许是Stroustrup,在一些书中他写了一个文本编辑器,在一个真实的问题上你会学到一些东西,我不记得内容了,但它不可能教你坏东西。