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();

三、参考

代理模式

上一篇下一篇

猜你喜欢

热点阅读