我的方法。核心是引擎。

 

在这个主题中,我想谈谈我的编程方法。提前警告--这里不会有关于GUI的讨论。如果我曾经谈论过它,那将只是作为 我的解决方案如何运作 的一个例子。

一开始,OOP对我来说是清楚的,甚至是接近的。我知道 "对象"、"结构"、"类 "在哲学上是什么。对哲学的深入编程确实吸引了我,点燃了我的兴趣。而我差点就认真学习了......。但是,在这个过程中,我感觉到一种越来越大的阻力。拒绝别人的哲学。而且这种拒绝正在增长。

我从小就习惯于从哲学角度思考问题。而我在编程中找到了哲学。有一次,我喜欢它。但是,我的思想无一例外地寻求打破别人的概念。要打败它。要做什么?- 打败并建立我自己的秩序。

几个世纪以来,哲学概念一直在相互争斗。而对我来说,作为一个天生的哲学家,巴解组织的概念已经成为一种个人挑战。


但是,这只是一个前史。

就这样,这一切几乎始于4年前。

那时,在简单的程序性风格中,我正在创建面板。我有了一个想法,把图形对象的属性合并到一个数组中。我认为这很方便。要做什么?

  1. 循环浏览对象并改变其属性。
  2. 将物体捆绑在一起。
  3. 通过对数组的简单访问来获得对象属性的 值。

这就是 "内核 "这一概念的诞生过程。

在OOP中,不存在 "内核 "的概念。OOP提供了建立类和结构的合奏,但并没有给出程序的实际中心。只是一个有条件的。O OP中的对象实际上是引用。说明的手段和访问的钥匙。类的捆绑类似于一个复杂的非集中式网络。 OOP的基础是建立一个程序的架构。也就是说,建立正确的程序架构是OOP的主要目标。

我的方法,也有物的概念。然而,我的方法中的 "对象 "要真实得多。它 是一个属性的集合。在这样做的时候,我的方法忽略了项目的具体架构的重要性。架构是根据程序效率的要求,而不是程序员的便利性来组合的。这简化了语法,减少了规则的数量。

在大自然中,内核的概念无处不在。生物体的每个细胞都有一个细胞核。天体都有一个核。地球,太阳。在植物的果实里有一个核,它孕育着新的植物。而在自然界中,弧形结构永远都被置于效率之上。因此,大自然并不创造直线,生物也不是由块状物组成。但是,人比自然更弱,需要令人难忘的计划、安排、分类。人在碎片中感知世界,也在碎片中再现世界。

OOP的概念很好地反映了人类的本性。

但是,回到我的方法上。

  • 因此,一个OBJECT是一个属性的集合。
  • 内核是对象所存在的内存空间。

在实践中,-内核是一个矩阵。一个对象是一个矢量。

一个矩阵可以包含许多向量。而这是我的方法的基本规则的边界。接下来,我将展示用它可以做什么的例子。







 
马上有一个问题:开放源代码在哪里?
 
Vladimir Karputov:
马上有一个问题:开放源代码在哪里?

我将张贴代码和例子。这是一篇序言。

 
Реter Konow:

我将张贴代码和例子。这是一篇序言。

开源代码?

 

在那里!来吧,彼得,我对你的方法也很感兴趣,即使没有任何代码(弗拉基米尔,不要打扰他,让我们先听听)。

 
桶里有更多的水
 

我有一种似曾相识的感觉。

但由于目前没有什么可读的,彼得的另一个话题就可以了。

 

哲亚、瓦夏,你们太没耐心了......。让他自己说吧!

 
Georgiy Merts:

哲亚、瓦夏,你们太没耐心了......。让他自己说吧!

好吧,为什么不耐烦了。我告诉你--这是一个相当大的话题,尽管这次谈话彼得可能试图在他参与的每一场论战中起主导作用。

 

内核中表示的图形元素 的声明的例子。

_OBJECTS_SET,BUTTON,
//------------T------X----Y----W-----H----B_TYPE-- MOB---PXL-----------G------------C----SG--SC--OBJSCR--NEUTRAL----GRADIENT--A1--B1--C1-----------A2----B2--C2----------A3----B3--C3--------A4--B4--C4-------OBH--OBI--C5--D5--E5--------------------------------------------------------------------------------------------------------------ACT-STATUS--CURRENT-----CURRENT---LAST--------------------------------------------
//Основание кнопки--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
_NEW_OBJECT,  5,     0,   0,   100,  25,  _STRIP, _CNVS, 1,  _aw1,BUTTON,   0,_MOB,    0,    _aw1, C'245,245,245',  FR_32,  _C2C,_CNVS, 0,  FR_33,  _C2C,_CNVS, 0,   FR_32, 0,    0,   0,   A4, 0, 0,  0,    A5,0,  0,  0,  0,  0,   A6,  0,    A7, 0,       0,        0,        0,        0,       FR_32,        FR_33,       0,      0,       0,       0,         0,         0,       0,       0,   A8,  0,  0,  0,  

             A9, CLICKED_RELEASED, C'230,230,230',  0,  _C_PIXEL,  _C_PIXEL,    _C_PIXEL,    _C_PIXEL,    C'245,245,245',   _PL_END,
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//Лейбл кнопки--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
_NEW_OBJECT,  5,     0,    0,   0,  0, _LABEL, _CNVS,  0,  _aw3,BUTTON,  _EL,   0,   0,    _aw1, _NS_gr1,   A1, _X2X, _aw1,   7,   A2,  _C2C,  _aw1,  0,  A3,  0,    0,   0,   A4,  0, 0,  0,      A5,0,0, _aw1,  0,  0,   A6,  0,    A7,0,    0,        0,        0,        0,        0,        0,    0,      0,       0,       0,         0,         0,       0,       0,   A8,  0,  0,  0,  

             A9, 0, 0,   0, 0,   0,  0,    0,    0,  0,  0,  0,  0,  0,  0,     _PL_END,
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//Текст наименования кнопки --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
_NEW_OBJECT,  5,     0,   0,    0,  0,  _TEXT_, _CNVS,  0,  _aw2,BUTTON,_OCN,   0,    0,    _aw1, 0,     A1,  _C2C,_aw1,  0,   A2, _C2C,_aw1, 0,     A3,  0,    0,   0,   A4,  0, 0,  0,    A5,0,  0,  0,  0,  0,  A6,  0,  A7, 0,       0,        0,        0,        0,        0,        0,        0,      0,       0,       0,         0,         0,       0,       0,   A8,  Microsoft_JhengHei_Light, FW_NORMAL,  8,   

             A9, 0, 0,  0, C'100,100,100',   C'100,100,100',  0,    0,    0,  0,  0,  0,  0,  0,  0,   2,1,1,   1,0,  _PL_END,
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
_END_,

  1. 元素声明 -_OBJECTS_SET,BUTTON


2. 在一个项目中声明一个对象:_NEW_OBJECT

接下来,在声明了Object之后,还有属性值。尺寸,不同状态下的颜色,对象之间的绑定......


所有这些加在一起就是一个元素的原型--按钮。

这个原型在构建阶段被写入了内核。然后,构造器的文件被读取,在这些值上,用户值被写入。

最主要的是我的方法中的元素和对象的表现形式。它是表格式的。这使我们能够压缩Object数据,将大量的属性装入一个小空间。如果按照OOP规则来写,会变成一个巨大的混乱。




 
Реter Konow:

在OOP中,不存在 "内核 "的概念。OOP建议建立一个类和结构的集合体,但并没有给出程序的实际中心。

OOP是一种非常灵活的方法论,所以它缺乏像 "内核 "概念那样的先验观念。然而,通过OOP,你可以很好地建立这里所说的内核模型。因此,这种说法并不完全正确。

原因: