2011-05-16 37 views
2

這是進一步從以前的一個衍生問題:https://stackoverflow.com/questions/1834485/aspect-oriented-programming-aop-in-c-not-c-anyone-doing-it面向方面的C(不是C++)在生產代碼

對這個問題的答案指向我們的一些研究實踐,在皇后大學在這裏: http://sailhome.cs.queensu.ca/~bram/aspicere/index.html

除了這項研究工作之外,有沒有人知道生產代碼中Aspect Oriented C的實際使用情況?如果不是,您認爲困難在哪裏?如果是的話,有什麼障礙讓它不受歡迎呢?

我認爲AOP的好處是顯而易見的。但是在AOP-Java成爲十年流行之後,AOP-C仍然幾乎不存在,必定有某種原因。你對此有何看法?

回答

2

經過一番思考後,我相信答案是C缺乏結構構造,你可以將你的方面橫切連接起來。

爲了解決這個問題,一個項目就必須實施嚴格的結構約定是不容易有程序員同意。如果你確實有程序員同意這樣一個約定,那麼這個項目可能會選擇一個更好的語言。

1

我認爲主要的原因是,傳統的方法來實現在C/C的AOP ++需要一個複雜的框架,以使事情工作。 除此之外,C++是嚴格的類型語言,這使得實現比C更困難。

但是,這是舊時代。新的C++ 11〜17爲您提供了一些非常強大的功能來完成所有的技巧。

您可以查看這一個:https://github.com/whitebob/qaop 一個非常輕量級,只有標頭的AOP框架,它很容易使用。

我這個正在進行的項目的作者,所以如果你有一些建議或抱怨,只是與我聯繫:對

+0

這真棒,你使它成爲一個乾淨清爽的新項目。謝謝。 – minghua 2018-03-05 05:33:20

+0

感謝您的回覆,我真的想在C++試圖AOP將有很多的樂趣,使我們的設計更加簡潔,輕便。 – whitebob 2018-03-05 10:41:04