作用:
在对象外部完成两个对象的注入绑定等操作
这样可以将代码解耦,方便维护和扩展
vue中使用use注册其他插件就是在外部创建依赖关系的
示例:
class App{
constructor(appName,appFun){
this.appName = appName
this.appFun = appFun
}
}
class Phone{
constructor(app) {
this.name = app.appName
this.appFun = app.appFun
}
use(){
this.appFun()
}
}
const bilibiliApp = new App('bili',()=>{console.log('学习')})
const lolmApp = new App('lol',()=>{console.log('娱乐')})
//在外部创建关系
const bili = new Phone(bilibiliApp)
const lolm = new Phone(lolmApp)
bili.use()
lolm.use()