代理模式
- 由于一个对象不能直接引用另一个对象,所以需要通过代理对象在这2给对象之间起到中介作用。
- 作者举了跨域请求的例子。可以利用代理模式进行请求。图片的src,jsonp都是。
- 作者后来说了个代理模板,使用的是form target指向iframe实现跨域的古老技术。这个技术我没咋看懂,有需要百度。
装饰者模式
- 在不改变原对象的基础上,通过对其包装拓展,使原有对象可以满足用户的更复杂需求。
- 作者举了个输入框添加功能的例子,多个输入框每个都需要加一个逻辑,但是代码在哪找起来费劲,需要写一个装饰函数。装饰函数逻辑是这样,去找那几个输入框,看有没有事件,如果有事件,保存起来,重新添加保存的事件加上需要添加的事件,如果没事件就添加需要加的事件。
- 这模式很像适配器模式,作者说这2者区别是适配器模式是对原有对象适配,添加方法与原有方法功能相似,装饰者模式提供方法与原有的有一定区别。适配器模式需要了解方法具体细节才能改写,装饰者模式不需要了解细节。
总结
- 代理模式主要是讲跨域方面 ,装饰者模式跟装饰器有点像,但装饰器比装饰者模式要狭隘些。