总结

除了本文中提到的那些,类似代理模式(Proxy)、迭代器模式(Iterator)也能从 jQuery 当中找到端倪。不过因为日常使用时对那些感觉不明显,我就没有单开章节一一介绍,大家可以结合《设计模式》一书,自己探索。

要提醒大家的是,jQuery 的出色特性往往并非某个模式独立工作,而是多个设计模式组合发挥,比如前面说的外观模式,除了提供统一的对外接口封装复杂的内部操作外,也常常使用模板方法模式(Template Method)方便我们针对某一项操作进行修改;组合模式里,如果组合中的单个组件类型存在差异,往往也会用策略模式来区别处理。

日常开发中也是如此,大多数时候,我们要组合若干不同的模式,才能发挥出它们最大的战力。

我建议大家日后开发当中,如果使用到设计模式,不要局限,不要担心自己用的不对,大胆去做,从实际当中探索最适合的做法。