如何用JavaScript设计模式实现长尾词查询的代理?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1434个文字,预计阅读时间需要6分钟。
代理模式是一种对程序对象进行控制性访问的解决方案。通过代理模式,可以实现对单一职责的面向对象设计。单一职责实际上指的是在一个类中只包含一个职责,即在一个类中只处理一种类型的操作。这包括在类中只使用一个对象(通常是对象和函数)来执行一种功能。
代理模式是一种对程序对象进行控制性访问的一类解决方案。
引入代理模式,其实是为了实现单一职责的面向对象设计原则。
单一职责其实就是指在一个类中(js中通常指对象和函数等),应仅有一个引起它变化的原因。这样会帮助程序设计具有良好的健壮和高内聚特性,从而当变化发生时,程序设计会尽量少的受到意外破坏。
代理模式有多种方法,保护代理、远程代理、虚拟代理、缓存代理等。
但在javascript中,代理模式最常用到的两种方法是虚拟代理和缓存代理。
虚拟代理
在理解虚拟代理时,可以将其想象为一个经纪人,客户程序需要通过这个虚拟代理(经纪人)来调用本体对象的方法。
虚拟代理示例demo1: 图片loading预加载
//通过虚拟代理实现图片预加载 //代理模式进行图片预加载的实现思路是: 通过代理对象获取实际显示图片地址并进行加载,同时先让本体对象显示预加载图片,待代理对象将实际图片地址加载完毕后传递给本体对象进行显示即可。
本文共计1434个文字,预计阅读时间需要6分钟。
代理模式是一种对程序对象进行控制性访问的解决方案。通过代理模式,可以实现对单一职责的面向对象设计。单一职责实际上指的是在一个类中只包含一个职责,即在一个类中只处理一种类型的操作。这包括在类中只使用一个对象(通常是对象和函数)来执行一种功能。
代理模式是一种对程序对象进行控制性访问的一类解决方案。
引入代理模式,其实是为了实现单一职责的面向对象设计原则。
单一职责其实就是指在一个类中(js中通常指对象和函数等),应仅有一个引起它变化的原因。这样会帮助程序设计具有良好的健壮和高内聚特性,从而当变化发生时,程序设计会尽量少的受到意外破坏。
代理模式有多种方法,保护代理、远程代理、虚拟代理、缓存代理等。
但在javascript中,代理模式最常用到的两种方法是虚拟代理和缓存代理。
虚拟代理
在理解虚拟代理时,可以将其想象为一个经纪人,客户程序需要通过这个虚拟代理(经纪人)来调用本体对象的方法。
虚拟代理示例demo1: 图片loading预加载
//通过虚拟代理实现图片预加载 //代理模式进行图片预加载的实现思路是: 通过代理对象获取实际显示图片地址并进行加载,同时先让本体对象显示预加载图片,待代理对象将实际图片地址加载完毕后传递给本体对象进行显示即可。

