桥模式与依赖注入

War*_*ock 10 design-patterns

Bridge Pattern和Dependency Injection之间有什么区别?

对于这两种模式,我们有一个抽象类,实现了另一个抽象.下面是Bridge Pattern UML图表.

在此输入图像描述

Nar*_*hai 7

AFAIK依赖注入不是设计模式,而是SOLID原则中定义的设计指南.

因此,Bridge模式 在其中使用依赖注入来实现所需的多态行为,其中DrawingAPI将在构造函数中注入以将其Shape与API的具体实现分离.

来自维基百科Bridge Pattern示例的片段

protected Shape(DrawingAPI drawingAPI){
      this.drawingAPI = drawingAPI;
}
Run Code Online (Sandbox Code Playgroud)

桥模式 - 设计模式

依赖注入 - 设计指南或原则


Mar*_*ssi 5

您可以通过几种机制进行依赖注入.Bridge机制只是其中之一.简单的接口实现是另一个.类编织和其他动态技巧又是另一种.

依赖注入是一种开发/设计技术,但不是模式,因为它可以通过多种方式实现.

考虑到这一点,您可以将依赖注入视为软件架构模式(但仍然不是设计模式),因为它是解决一系列架构问题(可测试性,可配置性,模块化等)的常用方法.

换句话说,依赖注入可以有效地被视为模式,但在不同的层面:架构,而不是设计.