Bridge
14. März 2020
Bridge
Eine Brücke ist … ein Strukturmuster …, das zur Trennung der Implementierung von ihrer Abstraktion (Schnittstelle) dient. Dadurch können beide unabhängig voneinander verändert werden.
https://de.wikipedia.org/wiki/Brücke_(Entwurfsmuster)
Das Bridge-Pattern ist dem Adapter-Pattern sehr ähnlich. Der Unterschied liegt hauptsächlich darin, dass bei der Erstellung hier noch Einfluss auf beide Seiten genommen werden kann. Das Ziel ist, das System offen zu halten und die Implementierung von der Abstraktion zu trennen.
public interface ISendData
{
ISendService SendService { get; set; }
void Send(string message);
}
public class SendEmail : ISendData
{
public ISendService SendService { get; set; }
public void Send(string message)
{
SendService.Send(message);
}
}
public class SendSms : ISendData
{
public ISendService SendService { get; set; }
public void Send(string message)
{
SendService.Send(message);
}
}
public interface ISendService
{
public void Send(string message);
}
public class WebServiceSendService : ISendService
{
public void Send(string message)
{
}
}
public class ThirdPartySendService : ISendService
{
public void Send(string message)
{
}
}
class Program
{
static void Main(string[] args)
{
var sendEmail = new SendEmail();
sendEmail.SendService = new WebServiceSendService();
sendEmail.Send("Hello");
}
}