JavaScript设计模式之代理模式介绍_javascript技巧
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JavaScript设计模式之代理模式介绍_javascript技巧,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2381字,纯文字阅读大概需要4分钟。
内容图文
代理模式说明说明:顾名思义就是用一个类来代替另一个类来执行方法功能,这个模式跟装饰模式有点相似,不一样的是,代理模式是代替客户初始化被代理对象类,而装饰模式采用接口或初装饰者参数引用的方式来执行的。
在动态面向对象语言里,代理模式即起到控制修饰被代理类的作用,也对被代理类起到了充分的隐藏保护作用;被代理类只到我们需要时,才被间接初始化调用;
场景描述:
很常见到的就是租房子的例子,房客要租房子,房东要把房子租出去,但是房客跟房东都没怎么有空找房子或在家等着有人看房子,就一同去找房屋中介。房东把房间委托给中介代理租售,有合适的人需要时,中介带看房间,交钱租住,这样就帮房东把房间租出去了;房客委托房属中介帮招要求的房间位置条件,中介帮房客找到合房后,两者交钱租住,这样就替房客租到住的地方了;
实例源码
按上面的例子来实现;
1. 房东出租类;
function Fangdong() {
this.room = '房间名';
}
Fangdong.prototype.chuzu = function() {
console.log('房东出租房间: ' + this.room);
}
2. 中介代理类:
function Proxy() {
this.fangdong = new Fangdong();
}
Proxy.prototype.chuzu = function() {
this.fangdong.chuzu();
console.log('出租后收中介费');
}
3. 使用方法:
//房客请中介帮找房子;
var proxy = new Proxy();
proxy.chuzu();
看看上面的使用,被代理类在客户端完全用不着,只要使用Proxy类即可,可以很好使用在那种需要保护某些业务逻辑过程的情景中;使用代理模式,可以很好的保护需要保护的被代理类;
其他说明
跟装饰者模式一样,代理模式也很好的体现了面向对象思想的对扩展开放,对修改关闭的原则;
代理模式,可以使用接口或抽象类来规范共同的接口:(以下提供JAVA方式代理模式)
1. 抽象类 abstract 方式;
public abstract class House {
public void abstract chuzu();
}
public class Fangdong extends House {
private String room = “房间名称”;
@Override
public void chuzu() {
System.out.println(room);
}
}
public class Proxy extends House {
private Fangdong fangdong;
public Proxy() {
this.fangdong = new Hangdong();
}
@Override
public void chuzu() {
this.fandong.chuzu();
System.out.println(“出租后交中介费”);
}
}
//使用
House house = new Proxy();
house.chuzu();
2. 接口 Interface 方式:
interface House {
public void chuzu();
}
public class Fangdong implements House {
private String room = “房间名称”;
@Override
public void chuzu() {
System.out.println(room);
}
}
public class Proxy implements House {
private Fangdong fangdong;
public Proxy() {
this.fangdong = new Hangdong();
}
@Override
public void chuzu() {
this.fandong.chuzu();
System.out.println(“出租后交中介费”);
}
}
//使用
House house = new Proxy();
house.chuzu();
内容总结
以上是互联网集市为您收集整理的JavaScript设计模式之代理模式介绍_javascript技巧全部内容,希望文章能够帮你解决JavaScript设计模式之代理模式介绍_javascript技巧所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。