delegate 委托 代理模式

一组协议/接口

 不同的对象 有相似的行为 把这种相似的行为抽象出一组接口 形成一个delegate 在整个工程中delegate的接口逻辑调用一次

 

具体到不同的情况下 用不同的对象实现这个delegate的接口

接口内部实现自己的详细步骤

 

一个例子是渠道SDK接入,一般每个SDK都有init login pay share logout 等接口 可以把这些接口封装成一个delegate 叫做Platform

Interface Platform {

init();

login();

pay();

logout();

}

 

game:

window.platform.login();

window.platform.pay();

 

在工程中合适的位置接入这些接口,而在接口内部每个SDK实现自己的

API 

class QQPlatform {

init() {

}

login(){

}

pay(){

}

logout(){

}

}

...

 

main(){

if(plat == "QQ")

Window.platform = new QQPlatform()

elif(plat == "Wechat")

Window.platform = new WeChatPlatform()

elif(plat == "Byte")

Window.platform = new BytePlatform()

elif(plat == "Ali")

Window.platform = new AliPlatform()

}

 

 

 

 

你可能感兴趣的:(设计模式)