TypeScript中理解代理模式
2022-02-18 本文已影响0人
周星星的学习笔记
代理模式主要的思想是假如某个人要去做一件事,TA这个人不是自己亲自去做,而是让一个“代理人”去做这件事。好比你租房子,不是你自己去一个个小区找,而是让中介帮你找,找到了之后再通知你。
一、代理图示
代理二、代码示例
//定义中介的接口
interface ZJ{
//找房子方法
findHouse():string;
}
//中介1
class ZJ1 implements ZJ{
//实现接口方法
findHouse() :string{
return '找到2处房子'
}
}
//中介2
class ZJ2 implements ZJ{
//实现接口方法
findHouse() :string{
return '找到6处房子'
}
}
//定义人的类
class Person{
//定义代理
private _delegate:ZJ;
//实例化的时候设置好代理
constructor(delegate:ZJ) {
this._delegate = delegate
}
//寻找房子方法
find():void {
let ret = this._delegate.findHouse()
console.log(ret)
}
}
//实例化中介1
let zj1 = new ZJ1()
//实例化中介2
let zj2 = new ZJ2()
//实例化一个人并设置好代理中介
let person = new Person(zj2)
//开始找工作
person.find();