Delphi   发布时间:2022-04-11  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了德尔福的AOP支持大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在Delphi中可以做面向方面的编程吗?我将对本地支持以及第三方解决方案感兴趣.

我没有一个具体的问题我想用AOP解决,但我只是兴趣学习AOP.

解决方法

@H_618_7@ AOP取决于两件事情:

>将附加代码注入现有代码单元的能力
>将代码注入到哪里的机制.

这通常被称为代码编织.在程序转换的较大研究中是专门化.

JIT编译语言具有比静态编译程序更多的选项,因为更多的信息保留在字节码/ IL中.它们还支持反射,它提供了在运行时操作代码的能力.

Delphi.NET和Prism具有与任何其他.NET语言相同的访问权限.

Delphi Win32有两个AOP框架,我知道.第一个是MeAOP,已经提到了.第二个是Infra.两个项目都采用与AOP类似的方法.他们使用RTTI和巧妙的指针操作的组合来截取方法调用,以便您可以在方法调用之前或之后运行其他代码.您将交叉切割功能定义为框架AOP类的子类.通过将方法名称作为字符串参数传递给AOP框架,注册要拦截的方法.

这两个框架仍然是积极开发的,并且实际上比仅仅AOP更大.不幸的是,文档有些稀疏(在Infra的情况下,主要是葡萄牙语)

另一个项目在2004年通过源代码编写了AOP,取得了一些成功.基本上,他们在名为DMS的通用程序转换工具之上构建了一个方面的编织器,并使用它在编译之前将代码注入到delphi源文件中.他们面向方面的语言主要受AspectJ的影响.

http://www.gray-area.org/Research/GenAWeave/链接到原始论文和演示文稿以及转换过程的一些视频.

也可以使用运行时代码仪器来完成此操作.它是一些技术使用的技术,将计数器和堆栈跟踪注入到运行代码中,而无需修改原始源.可以使用类似的技术将横切关注点注入到静态编译的可执行文件中. PinTool项目是一个很好的例子.

大佬总结

以上是大佬教程为你收集整理的德尔福的AOP支持全部内容,希望文章能够帮你解决德尔福的AOP支持所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:支持