Junior
O que é o padrão Bridge?
sobes.tech IA
Resposta da IA
O padrão Bridge (Ponte) é um padrão estrutural de design que separa a abstração da sua implementação, permitindo alterá-las de forma independente.
A ideia é separar a interface (abstração) da implementação concreta, ligando-as através de um objeto ponte. Isto é útil quando é necessário suportar várias opções de implementação e abstrações sem um crescimento explosivo de classes.
Exemplo no iOS:
Vamos supor que temos diferentes tipos de botões (abstração) e diferentes estilos de exibição (implementação). Em vez de criar classes para cada combinação, criamos uma interface de botão que usa um objeto de estilo:
protocol ButtonStyle {
func drawButton()
}
class DarkStyle: ButtonStyle {
func drawButton() {
print("Desenhar botão em estilo escuro")
}
}
class LightStyle: ButtonStyle {
func drawButton() {
print("Desenhar botão em estilo claro")
}
}
class Button {
private let style: ButtonStyle
init(style: ButtonStyle) {
self.style = style
}
func draw() {
style.drawButton()
}
}
let darkButton = Button(style: DarkStyle())
darkButton.draw() // Desenhar botão em estilo escuro
Desta forma, podemos alterar estilos e tipos de botões de forma independente.