过过 适配器模式

问题场景:1、我买的日版的iPhone在中国无法使用电信卡,没有信号,这时候我需要一个卡贴,卡贴就是今天要讲的类似的适配器 2、在客户端中,某个界面显示的是红色,而红色是由服务器返回你的一个二进制值,某天服务器开发的人换了,他把二进制值换成了255位的rgb数值,又或者哪天给改成了其他的表示形式,这时候使用适配器模式的思想就可以更好的解决问题。

适配器模式一般分为三个角色:适配者   被适配者   协议

适配者:主动适配的一个对象

被适配者:被适配的对象

协议:去执行的一套行为协议(iOS中通常是代理协议的形式出现)

过程定义:适配者通过执行一套行为协议,去解决原来由于兼容而出现的问题

适配器模式有两种:类适配器和对象适配器(iOS中类适配器用的多)

类适配器:适配者继承被适配者,适配者去执行一套行为协议,适配者和被适​​配者属于继承关系

对象适配器:适配者通过关联应用被适配者,适配者去执行一套行为协议,适配者和被适​​配者属于关联关系

场景区别使用:当被适配者是一个类的很多子类的时候,使用对象适配器更加合适。

注意:任何设计模式都对增加代码增加文件,在实际使用的过程中一定要根据具体情况来使用,一味的追求设计模式只是自讨苦吃,比如:如果你的项目中,只是服务器返回的一个字段的修改,你完全可以在这个字段的获得方法中去做判断一般来讲,足够大的项目才更加要重点去考虑设计模式所带来的便利,便于:维护,测试,修改。



猜你喜欢

转载自blog.csdn.net/xiao2218897/article/details/80888051