C#设计模式之:适配器模式

版权声明:每天要问下自己:“昨天的自己与今天的自己有啥区别?” https://blog.csdn.net/u010921682/article/details/82702954

适配器模式(Adapter)

将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。


适配器有两种:

1,类适配器模式

通过多重继承对一个接口与另一个接口进行匹配

2,对象适配器模式

UML
这里写图片描述

代码

class Target
{
    public virtual void Request()
    {
        Console.WriteLine("普通请求!");
    }
}
class Adaptee
{
    public void SpecificRequest()
    {
        Console.WriteLine("特殊请求!");       
    }
}
class Adapter : Target
{
    private Adaptee adaptee = new Adaptee();

    public override void Request()
    {
        adaptee.SpecificRequest();
    }
}
// test
Target target1 = new Target();
target1.Request();

Target target2 = new Adapter();
target2.Request();
// result
普通请求!
特殊请求!

什么时候使用?

**首先,在公司内部,类和方法的命名应该有规范,最好前期就设计好,然后如果真的接口不相同时,首先不应该考虑用适配器,而是应该考虑通过重构统一接口
在双方都不容易修改的时候再使用适配器模式适配**

.Net中有一个类库DataAdapter,用作DataSet和数据源之间的适配器以便检索和保存数据

猜你喜欢

转载自blog.csdn.net/u010921682/article/details/82702954
今日推荐