Ориентированный на аспект C (не C ++) в производственном коде - PullRequest
2 голосов
/ 16 мая 2011

Это вопрос, вытекающий из предыдущего: 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-Java стала популярной в течение десятилетия, AOP-C все еще почти не существует, должна быть какая-то причина. Что вы думаете об этом?

Ответы [ 2 ]

3 голосов
/ 06 сентября 2012

Подумав, я думаю, что ответ в том, что в С отсутствуют структурные конструкции, в которых вы можете подключить свои поперечные разрезы.

Чтобы обойти эту проблему, проект должен навязать строгие структурные соглашения, с которыми программистам нелегко договориться.Если у вас есть программисты, которые согласятся с таким соглашением, есть шанс, что проект выбрал бы лучший язык.

1 голос
/ 28 февраля 2018

Я думаю, что основная причина в том, что традиционному методу для реализации AOP в C / C ++ нужна сложная структура, чтобы все заработало.Кроме того, C ++ является языком строгого типа, что делает реализацию еще сложнее, чем C.

Но, это старое время.новый C ++ 11 ~ 17 предоставляет некоторые действительно мощные функции для выполнения всех трюков.

Вы можете проверить это: https://github.com/whitebob/qaop Очень легковесная структура АОП только для заголовков, и она проста в использовании.

Я являюсь автором этого текущего проекта, поэтому, если у вас есть предложения или жалобы, просто свяжитесь со мной: p

...