繁体   English   中英

生产代码中面向方面的C(非C ++)

[英]Aspect Oriented C (not C++) in Production Code

这是从上一个问题中进一步得出的一个问题: https : //stackoverflow.com/questions/1834485/aspect-iented-programming-aop-in-c-not-c-anyone-doing-it

该问题的答案使我们了解了皇后大学的一些研究实践: http : //sailhome.cs.queensu.ca/~bram/aspicere/index.html

除了研究工作之外,有人知道生产代码中面向方面的C在现实世界中的用法吗? 如果没有,您认为困难在哪里? 如果是,那么使它不受欢迎的障碍是什么?

我认为AOP的好处显而易见。 但是,在AOP-Java流行了十年之后,AOP-C仍然几乎不存在,这一定是有原因的。 您对此有何见解?

经过一番思考后,我相信答案是C缺乏可用于连接方面横切面的结构构造。

为了解决这个问题,一个项目必须施加严格的结构约定,这很难让程序员达成共识。 如果确实有程序员同意这样的约定,那么该项目很可能会选择更好的语言。

我认为主要原因是,在C / C ++中实现AOP的传统方法需要复杂的框架才能使工作正常。 另外,C ++是严格的类型语言,这使得实现比C还要困难。

但是,这是旧时光。 新的C ++ 11〜17提供了一些非常强大的功能供您完成所有技巧。

您可以检查以下内容: https : //github.com/whitebob/qaop一个非常轻巧,仅标头的AOP框架,并且易于使用。

我是这个正在进行的项目的作者,因此,如果您有任何建议或投诉,请与我联系:p

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM