内容目录
使用继承的的方式,缺点是添加功能是,上下层都需要改变;
同时为了避免为外界透露细节;
松耦合,避免两者出现静态的联系;
有接口和实现如下:
public interface ITest
{
void A();
void B();
}
public class T1 : ITest
{
public void A() { }
public void B() { }
}
public class T2 : ITest
{
public void A() { }
public void B() { }
}
使用桥接器模式,添加一个新的类如下:
public class Client
{
private ITest _Implementor;
public ITest Implementor { get { return _Implementor; } set { _Implementor = value; } }
public virtual void A()
{
_Implementor.A();
}
public virtual void B()
{
_Implementor.B();
}
}
实例化桥接器类型后,可以将其桥接到 T1 或者 T2,使用方法如下:
class Program
{
static void Main(string[] args)
{
Client client = new Client();
client.Implementor = new T1();
client.A();
client.B();
client.Implementor = new T2();
client.A();
client.B();
}
}
工厂模式在于提供实例;
桥接在于在结构上提供适配。
适配器模式和桥接模式有些相似。
文章评论