行业知识
什么是依赖注入(Dependency Injection)?它在 C++ 中是如何实现的?
2026-11-03 13:05:52
来源:互联网转载
什么是依赖注入(Dependency Injection)?它在 C++ 中是如何实现的?
���赖注入(Dependency Injection,DI)是一种设计模式,用于减少软件组件之间的耦合度,提高代码的可测试性、可维护性和可扩展性。在依赖注入中,组件的依赖关系不是在组件内部创建或硬编码的,而是通过外部提供的方式注入到组件中。
()实现方式:
在 C++ 中,依赖注入可以通过以下几种方式实现:
()构造函数注入:通过组件的构造函数接收依赖对象。
#include class Service {public: void execute() { std::cout private: Service& service;public: Client(Service& s) : service(s) {} void run() { service.execute(); }};int main() { Service s; Client c(s); c.run(); return 0;}public: void execute() { std::cout private: Service& service;public: Client() : service(Service()) {} // 成员变量初始化时注入依赖对象 void run() { service.execute(); }};int main() { Client c; c.run(); return 0;}public: void execute() { std::cout service.execute();}int main() { Service s; run(s); return 0;}public: virtual void execute() = 0; virtual ~IService() {}};class Service : public IService {public: void execute() override { std::cout private: IService& service;public: Client(IService& s) : service(s) {} void run() { service.execute(); }};int main() { Service s; Client c(s); c.run(); return 0;}