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

问题描述 投票:2回答:2

这个问题进一步来自前一个问题:https://stackoverflow.com/questions/1834485/aspect-oriented-programming-aop-in-c-not-c-anyone-doing-it

这个问题的答案为我们指出了皇后大学的一些研究实践:http://sailhome.cs.queensu.ca/~bram/aspicere/index.html

除了这项研究工作之外,有没有人知道在生产代码中使用Aspect Oriented C的实际情况?如果不是,您认为困难在哪里?如果是的话,那么它不受欢迎的障碍是什么?

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

c components software-design aop
2个回答
3
投票

经过一番思考后,我相信答案是C缺乏结构构造,你可以在这里结合横截面。

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


1
投票

我认为主要原因是在C / C ++中实现AOP的传统方法需要一个复杂的框架来使事情有效。此外,C ++是严格的类型语言,这使得实现比C更难。

但是,现在是时候了。新的C ++ 11~17为您提供了一些非常强大的功能来完成所有技巧。

你可以检查一下:https://github.com/whitebob/qaop一个非常轻量级,仅限标题的AOP框架,它易于使用。

我是这个正在进行的项目的作者,所以如果你有一些建议或抱怨,请联系我:p

© www.soinside.com 2019 - 2024. All rights reserved.