一组协议/接口
不同的对象 有相似的行为 把这种相似的行为抽象出一组接口 形成一个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()
}