.net core 3.1 23种设计模式----代理模式(结构性设计模式)
代理模式:生活中买汽车票,一般呢在汽车站买,但是呢农村,乡镇上离县城太远,一般就会有代理点,直接可以买票。这就表明了,代理呢有汽车站授权的卖票服务,所以在卖票这一块,就不用再去县城了。
回到代码里面
public interface ITrain
{
void Search();
void BuyTicket();
}
public class Train : ITrain
{
public void BuyTicket()
{
throw new NotImplementedException();
}
public void Search()
{
throw new NotImplementedException();
}
}
这边是建立代理实现Itrain方法,通过组合方式,把train传进来,执行的还是train的方法,待会看看前台调用就没有train的事情了,直接全部交给代理ProfixTrain 来解决
public class ProfixTrain : ITrain
{
private ITrain train = new Train();
public void BuyTicket()
{
train.BuyTicket();
}
public void Search()
{
throw new NotImplementedException();
}
}
#region 代理模式
ITrain train = new ProfixTrain();
train.BuyTicket();
#endregion
大力模式的套路:在原来类实现的接口上,再仙剑一个类实现接口,通过组合的方式把原来的类传进来,执行方法
到这里会发现,结构性设计模式就是处理类与类之间关系,套路:新建第三个类(包一层)