用代码来操纵代码(增删查该代码原来的逻辑和功能)
就是无关业务逻辑,只跟当前代码结构相关的代码。
元编程的要素
1、元数据(描述目标的(运行时)结构、语法结构、二进制文件结构等)
2、元逻辑(系统和目标语言提供了什么样的支持来对元数据进行修改)
3、元编程(根据元数据、元逻辑和需求开发出的部件)
4、部署与运行机制。
一、元编程的编程层级(元数据)
1、代码级;
2、字节码级别;
3、可执行文件文件级别
4、运行时结构级别
二、元编程的理论基础(元逻辑)
1、工具代码:掌握目标语言的语法、结构等语言规则,按照输入(指令)信息生成代码;
2、补丁代码:根据平台和目标语言提供的编程接口(反射、运行时结构操作接口),对按照补丁逻辑对目标进程的结构进行维护和运行时解释。
三、元编程的代码形态(元编程)
补丁代码、工具代码
工具代码:生成代码的代码、代码级
补丁代码:修改、维护、添加功能的代码:运行时结构级别
四、元编程的的部署形态
1、工具代码:不用部署,在应用开发时直接使用
2、补丁代码:
1)静态部署,和应用代码一起发布;
2)动态部署,通过网络和动态链接库的形式部署;
五、补丁的二进制兼容性(代码兼容性)
补丁代码和平台代码是否为同一种语言生成;
如果不是,需要解释系统和通信系统的支持;
六、动态部署元编程
在运行时加载补丁代码,并完成相关功能的维护和解释。