Существует ли структура DI, сопоставимая с Google Guice? И что использует Google?
Концепция зависимостей для С++
Ответ 1
Нет ничего зрелого или стандартного, как Guice в мире С++. Тем не менее, некоторые люди объединили упрощенные реализации самостоятельно. Вот пара.
- http://adam.younglogic.com/2008/07/dependency-injection-in-c/ (источник для реализации находится в конце сообщения)
- http://sourceforge.net/projects/qtioccontainer/ (требуется Qt)
- http://code.google.com/p/autumnframework/ (с 2007 года его не трогали).
- http://programmaticallyspeaking.blogspot.com/2010/04/beautiful-dependency-injection-in-c.html (более подробное описание)
- http://sourceforge.net/projects/cpp-resolver/ (качество "Альфа" )
Вы вряд ли будете удовлетворены любым из них.
Если вы действительно хотели приложить усилия, чтобы сплотить мир вокруг рамки DI для С++, возможно, путь для этого - сделать предложение для парней Boost.
Ответ 2
Я автор wallaroo. Он активно развивается и имеет следующие функции:
- он легкий, но мощный
- его интерфейс поддерживает как С++ 11, так и С++ 98 с boost
- безопасный тип
- ему не нужны пользовательские препроцессоры/генераторы кода
- вы можете загружать классы, определенные в разделяемых библиотеках.
- вы можете использовать синтаксис DSL для создания объекта и проводки или
- вы можете получить создание и проводку объектов путем разбора одного или нескольких файлов xml/json.
Любые комментарии, предложения или просьбы приветствуются.
Ответ 3
Есть недавний, который выглядит очень интересным, называемый Hypodermic, я его не тестировал, но он выглядит довольно активно
Ответ 4
В настоящее время я создаю один из названных sauce, чей дизайн (и имя) напрямую вдохновлен на guice. Я все еще считаю его альфа, но вы можете найти его полезным.