IT行业,一直讲一句话,拼到最后都拼的是“内功”,而内功往往就是指我们处理问题的思路、经验、想法,而对于开发者来说,甚至对于产品也一样,都离不开一个“宝典”,就是设计模式。今天我们一起借助Android源码去探索一下适配器模式的优缺点,以及它所想要去解决的问题。同时结合我工作经验中的一个小例子,来总结实践一下。
理解:
适配器模式是结构型设计模式的一种。在软件日常开发中,有一些现有的对象或者实现,当我们需要用到时,可能会面临这样的问题,这个对象并不是我们要求的接口类型。比如:您现在正在开发一个模块A,里面统一的输入是要求接口A类型的对象,可是现在系统要求介入一个现有的实现类B的功能,那么此时显然只有两种做法:
1)将A模块的输入,做扩充,可以支持B类型的输入,对B类型的数据做转换,但是这样有一个不好的地方,就是需要修改现有的A模块,也就是客户端。
2)在B接口的基础上,去封装adapter,adapter去实现A接口,这样的话,此时构建的adapter就是A接口类型的,可以作为A模块之间使用,这也就是我们本章要讲的适配器模式。
定义:
适配器模式将一个类的接口转换成客户希望的另外一个类的接口,Adapter模式使得原先因为接口不匹配不能一起工作的两个类,可以一起工作