1、引言
模拟一个场景,比如因为工作原因需要出差,所住宾馆所有插孔都是两项插孔,而你的手机充电器是三项插头,这时宾馆提供一个插排可以使用两项插孔,同时又可以三项插孔。这个插排就是适配器。 适配器模式就是将一个类的接口转换成客户需要的另一个接口,使得原本由于不兼容而不能在一起工作的那些类可以在一起工作。
1.1、角色:
1、目标接口(target):客户机所期待的接口,目标可以是具体的或抽象的类或接口。
2、需要适配的类:需要适配的类或者适配者类
3、适配器:通过包装一个需要适配的对象,把接口转换成目标接口
1.2、种类
1、类适配器模式
2、对象适配器模式
1.3、特征
1、适配器对象实现原有的接口。
2、适配器对象组合实现一个实现新接口的对象(可以不实现一个接口,只是一个单纯的对象)。
3、对适配器原有接口方法的调用委托给新接口的实例的特定方法。
2、学习
2.1、类适配器
需要适配的类 目标接口 目标接口具体实现类 适配器2.2、对象适配器
1、对象适配器不使用继承的方式,直接关联。
2、一个对象可以把多个不同的适配器适配到同一个目标。
3、可以适配一个适配者的子类,由于适配器和适配者之间时关联关系,根据“里氏代换原则”,适配者的子类也可以通过改适配器进行适配。
4、与类适配模式相比,要做适配器中置换适配者类的某些方法比较麻烦。如果一定要置换适配者类的一个或多个方法,可以先做一个适配者类的总类,将适配者类的方法置换掉,然后再把适配者类的子类当作真正的适配者进行适配,较为麻烦。
不要继承、直接引入
网友评论