本科网站开发毕业设计,网站开发商问花店老板,中国做网站公司,wordpress分页加载适配器模式理论 将一个类的接口转换目标接口。使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适配器模式案例
#include iostream
#include vector
#include algorithm
using namespace std;//适配器模式 就是将已经写好的接口#x…适配器模式理论 将一个类的接口转换目标接口。使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适配器模式案例
#include iostream
#include vector
#include algorithm
using namespace std;//适配器模式 就是将已经写好的接口但是这个接口不符合需求
//将写好的接口转换成目标接口//这函数我已经写好
struct Myprint{void operator()(int v1,int v2) {cout v1 v2 endl;}
};//定义目标接口 我要是配偶 适配成什么样的
//要适配成只能传一个参数的适配for_each第三个参数的适用
class Target {
public:virtual void operator()(int v) 0;};//写适配器
class Adapater :public Target {
public:Adapater(int param) {this-param param;}virtual void operator() (int v) {print(v,param);}
public:Myprint print;int param;
};//MyBind2nd原来param固定的10现在提供一个方法改
Adapater MyBind2nd(int v) {return Adapater(v);
}int main(void) {vectorint v;for (int i 0; i 10; i) {v.push_back(i);}//适配器模式的运用//for_each()的第三个参数是个带一个参数的函数但是Myprint需要两个参数for_each(v.begin(),v.end(), MyBind2nd(10));return 0;
}适配器模式的优缺点
优点
(1)将目标类和适配者类解耦通过引入一个适配器类来重用现有的适配者类无须修改原有结构。
(2)增加了类的透明性和复用性将具体的业务实现过程封装在适配者类中对于客户端类而言是透明的而且提高了适配者的复用性同一个适配者类可以在多个不同的系统中复用。
(3)灵活性和扩展性都非常好可以很方便地更换适配器也可以在不修改原有代码的基础上增加新的适配器类完全符合“开闭原则”。
缺点
适配器中置换适配者类的某些方法比较麻烦。 适配器模式的适用场景
(1) 系统需要使用一些现有的类而这些类的接口如方法名不符合系统的需要甚至没有这些类的源代码。
(2) 想创建一个可以重复使用的类用于与一些彼此之间没有太大关联的一些类包括一些可能在将来引进的类一起工作。