Python元编程,元编程

元编程是指作为非代码数据的元数据。 这些数据会影响程序的行为。 java反射、osgi、spring等技术不是这种编程技术的实践者,但放弃语言本身可以按照以下示例理解元编程。 我想了解了这个过程,就能对元编程有更深的理解。

在此之前,让我们分别谈谈数据和处理过程。 数据是数据,本身只是被动地被程序处理,处理是由代码组成的逻辑过程,程序是在数据中加入算法。 编程是实现程序的过程。

以上为xml文件。

在普通的编程方法中,这是xml文件。 我定义了dom节点类。 他有name属性。 此外,它还包含a b c的三个属性。 他们各自有自己的数据类型和值。 这个理解是完全正确的。 你那么理解的是数据,这个xml不是流程而是数据。

例外的一种理解方法是动态逻辑化xml定义。 这个xml对应的理解是,我创建Test的对象,给他a这个属性赋值1,b赋值’1’,c赋值1.0。 此时,这个xml描述的是流程而不是数据,他有一定程度的动态处理流程。 这个Test类还有很多其他属性。 我只是选择修改a b c属性。 这意味着,在这种理解模式下,xml可以控制和修改程序的行为表示。 此时,创建TestA对象。 这意味着xml文件可以直接控制程序的行为。

理解以上说明后,以第二种想法编写程序是元编程,很明显,这个xml是元数据,用户可以通过元数据改变程序的动作。

第一个程序称为功能代码,我的代码只能解析这个xml结果的数据,第二个元编程是体系结构,你的代码可以基于用户定义的数据,动态地改变自己的行为

可以理解,这个xml是Test很普通的数据类,只包含这些数据。

此时,Test表示它是一个UI控件,框架将自动创建此对象并在UI的某个位置显示它

虽然只是字符串的不同,但对程序的影响却是决定性的不同。 此外,根据如何实现小的修改,可以实现完全不同的程序行为。 它是通过体系结构的设计和元数据的定义和分析来实现的。

当然,各自的理解可能不同。 特别是各自的开发背景不同。 在一种语言中,元数据在另一种语言的观点中可能不是元数据。 但是,对这样的程序流进行数据化的能力是元编程的核心,数据的变更非常容易,变更源代码的流要经过编译链接等繁杂的过程,所以元编程是一种更加灵活的开发方式

但是,对开发者的要求更高。 这是因为,考虑到任何功能如何扩展,不是如何实现,而是如何扩展。 不可扩展性的实现对于元编程架构的破坏性非常严重。 另一方面,春天在平台或系统上表达软件程序时,基本上是元编程的产物。 如果在功能安装中不考虑扩展性的话,这样的功能的重复会给整个架构带来毁灭性的打击,这也是国内软件开发的非常大的缺陷,是反复的重复

元编程也是一把双刃剑。 考虑到过度的可扩展性,开发难度曲线过大,导致框架背离,或者框架本身不够灵活,扩展开发成本过大。 好的框架必须是动态的成长过程,既能迅速实现功能,又能将新业务纳入框架。 这个过程需要开发团队的沟通和对技术细节的钻研。 过于重视框架结构的严格性,或者偏向于迭代开发功能的最后实现

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注