桥接模式(Bridge)用于将抽象部分和实现部分分离开来,使其相互独立,可以各自变化,又可以动态的进行组合.
例如:人分为男人、女人, 其又有行为吃饭、睡觉等,如何将其通过某种方式动态绑定,而不是固定的进行绑定,就可以使用桥接模式,如:
public interface IPerson
{
string Query();
} // interface IPerson
public class MalePerson : IPerson
{
public string Query()
{
return "Male";
}
} // class MalePerson
public interface IBridger
{
IPerson Person { get; set; }
string Sleep();
} // interface IBridge
public class Bridge : IBridger
{
public IPerson Person { get; set; }
public string Sleep()
{
return Person.Query() + " Sleep";
}
} // class Bridge
使用者可以根据需求任意扩展、实现IPerson接口以及IBridger接口.