昨天是1024程序员节,特地停更一天,今天我们来讲一个简单的设计模式,适配器模式。适配器模式,它是一个结构型的设计模式。
在我们的生活中,总是有各种各样的适配器,最常见的,就是你去国外旅游的时候,通常需要购买转接插座,因为国内的插座与国外的标准不同,接口不同,你需要一个转换器。当你使用这个转换器的时候,你不用关心里面是如何工作的,只需要关心插头从什么标准转成什么标准,而不需要关心转化器如何实现,这便是适配器。
刚好,在我们的程序员日常开发中,也常常遇到这样的情况,在工作中,我们经常要使用到别人的接口,有些接口时以前存在的,刚好却有些不合适,通常,要请别人去修改也不现实,或者不能马上得到支持。又或是需要用到一些组件,获知有些开源的轮子可以用,当然这些轮子并不是每次都能跟你的代码契合,这个时候就需要祭出我们的设计模式,适配器模式。
我们自己的代码我们可以理解为Client,我们要调用的接口,是图中的Adaptee,因为接口不匹配,我们不能够直接使用,所以,我们引入设配器模式,Adapter,Adapter实现了Client中需要的Target方法,但是里面使用组合,当我们调用Target的request方法的时候,Adapter会做一些参数的转化等工作,最后实际上调用的是Adaptee的specificRequest方法。
这个设计模式就是这么简单,学会了么?适配器模式的优点,就是将使用者跟被适配者解耦,无需修改被适配者的代码就能工作,增加了类的复用性与透明性,对使用者来说,灵活性跟扩展性也得以保留,如果哪天需要换一个新的使用者,不用删代码,只要更换一个适配器就行。不知道你学会了么?欢迎大家关注我,共同学习,共同进步。大家的支持是我继续唠嗑的动力。同名公众号(沙茶敏碎碎念)