蓝胖仔资源站- 丰富、实用的资源网站!

蓝胖仔资源站_建站资料、教程、素材、模板、软件

当前位置: 主页 > 前端 > 前端相关资料 >

《JAVASCRIPT设计模式》pdf

时间:2019-11-11 14:22来源:蓝胖仔资源站 作者:蓝胖仔 点击:
《JavaScript设计模式》共分为两个部分。

  内容简介:


  《JavaScript设计模式》共分为两个部分。


  第一个部分讲述了具体实现设计模式所需要的面向对象特性的基本基础知识,主要包括内容有:接口、封装和信息隐藏、继承、单体模式等内容。


  第二个部分则专注于讲述各种具体的设计模式和在JavaScript语言中的应用,主要讲解了工厂模式、桥接模式、组合模式、门面模式等几种常见的模式。


  同时为了让书本中每一章的示例都能够尽可能地贴近实际应用,书中列举了很多JavaScript程序员最常见的任务,运用设计模式使其解决方案变得更模块化、更高效并且更易维护,其中较为理论化的例子则用于阐明某些要点。


  《JavaScript设计模式》适合各层次的Web前端开发人员阅读和参考,也适合有C++/Java/C#背景的服务器端程序员学习。



  下载地址:《JavaScript设计模式》


  书籍目录:


  第一部分面向对象的JavaScript


  第1章富有表现力的JavaScript


  1.1JavaScript的灵活性


  1.2弱类型语言


  1.3函数是一等对象


  1.4对象的易变性


  1.5继承


  1.6JavaScript中的设计模式


  1.7小结


  第2章接口


  2.1什么是接口


  2.1.1接口之利


  2.1.2接口之弊


  2.2其他面向对象语言处理接口的方式


  2.3在JavaScript中模仿接口


  2.3.1用注释描述接口


  2.3.2用属性检查模仿接口


  2.3.3用鸭式辨型模仿接口


  2.4本书采用的接口实现方法


  2.5Interface类


  2.5.1Interface类的使用场合


  2.5.2Interface类的用法


  2.5.3示例:使用Interface类


  2.6依赖于接口的设计模式


  2.7小结


  第3章封装和信息隐藏


  3.1信息隐藏原则


  3.1.1封装与信息隐藏


  3.1.2接口扮演的角色


  3.2创建对象的基本模式


  3.2.1门户大开型对象


  3.2.2用命名规范区别私用成员


  3.2.3作用域、嵌套函数和闭包


  3.2.4用闭包实现私用成员


  3.3更多高级对象创建模式


  3.3.1静态方法和属性


  3.3.2常量


  3.3.3单体和对象工厂


  3.4封装之利


  3.5封装之弊


  3.6小结


  第4章继承


  4.1为什么需要继承


  4.2类式继承


  4.2.1原型链


  4.2.2extend函数


  4.3原型式继承


  4.3.1对继承而来的成员的读和写的不对等性


  4.3.2clone函数


  4.4类式继承和原型式继承的对比


  4.5继承与封装


  4.6掺元类


  4.7示例:就地编辑


  4.7.1类式继承解决方案


  4.7.2原型式继承解决方案


  4.7.3掺元类解决方案


  4.8继承的适用场合


  4.9小结


  第5章单体模式


  5.1单体的基本结构


  5.2划分命名空间


  5.3用作特定网页专用代码的包装器的单体


  5.4拥有私用成员的单体


  5.4.1使用下划线表示法


  5.4.2使用闭包


  5.4.3两种技术的比较


  5.5惰性实例化


  5.6分支


  5.7示例:用分支技术创建XHR对象


  5.8单体模式的适用场合


  5.9单体模式之利


  5.10单体模式之弊


  5.11小结


  第6章方法的链式调用


  6.1调用链的结构


  6.2设计一个支持方法链式调用的JavaScript库


  6.3使用回调从支持链式调用的方法获取数据


  6.4小结


  第二部分设计模式


  第7章工厂模式


  7.1简单工厂


  7.2工厂模式


  7.3工厂模式的适用场合


  7.3.1动态实现


  7.3.2节省设置开销


  7.3.3用许多小型对象组成一个大对象


  7.4示例:XHR工厂


  7.4.1专用型连接对象


  7.4.2在运行时选择连接对象


  7.5示例:RSS阅读器


  7.6工厂模式之利


  7.7工厂模式之弊


  7.8小结


  第8章桥接模式


  8.1示例:事件监听器


  8.2桥接模式的其他例子


  8.3用桥接模式联结多个类


  8.4示例:构建XHR连接队列


  8.4.1添加核心工具


  8.4.2添加观察者系统


  8.4.3开发队列的基本框架


  8.4.4实现队列


  8.4.5哪些地方用了桥接模式


  8.5桥接模式的适用场合


  8.6桥接模式之利


  8.7桥接模式之弊


  8.8小结


  第9章组合模式


  9.1组合对象的结构


  9.2使用组合模式


  9.3示例:表单验证


  9.3.1汇合起来


  9.3.2向FormItem添加操作


  9.3.3向层次体系中添加类


  9.3.4添加更多操作


  9.4示例:图片库


  9.5组合模式之利


  9.6组合模式之弊


  9.7小结


  第10章门面模式


  10.1一些你可能已经知道的门面元素


  10.2JavaScript库的门面性质


  10.3用作便利方法的门面元素


  10.4示例:设置HTML元素的样式


  10.5示例:设计一个事件工具


  10.6实现门面模式的一般步骤


  10.7门面模式的适用场合


  10.8门面模式之利


  10.9门面模式之弊


  10.10小结


  第11章适配器模式


  11.1适配器的特点


  11.2适配原有实现


  11.3示例:适配两个库


  11.4示例:适配电子邮件API


  11.4.1用适配器包装Web邮件API


  11.4.2从fooMail转向dedMail


  11.5适配器模式的适用场合


  11.6适配器模式之利


  11.7适配器模式之弊


  11.8小结


  第12章装饰者模式


  12.1装饰者的结构


  12.1.1接口在装饰者模式中的角色


  12.1.2装饰者模式与组合模式的比较


  12.2装饰者修改其组件的方式


  12.2.1在方法之后添加行为


  12.2.2在方法之前添加行为


  12.2.3替换方法


  12.2.4添加新方法


  12.3工厂的角色


  12.4函数装饰者


  12.5装饰者模式的适用场合


  12.6示例:方法性能分析器


  12.7装饰者模式之利


  12.8装饰者模式之弊


  12.9小结


  第13章享元模式


  13.1享元的结构


  13.2示例:汽车登记


  13.2.1内在状态和外在状态


  13.2.2用工厂进行实例化


  13.2.3封装在管理器中的外在状态


  13.3管理外在状态


  13.4示例:Web日历


  13.4.1把日期对象转化为享元


  13.4.2外在数据保存在哪里


  13.5示例:工具提示对象


  13.5.1未经优化的Tooltip类


  13.5.2作为享元的Tooltip


  13.6保存实例供以后重用


  13.7享元模式的适用场合


  13.8实现享元模式的一般步骤


  13.9享元模式之利


  13.10享元模式之弊


  13.11小结


  第14章代理模式


  14.1代理的结构


  14.1.1代理如何控制对本体的访问


  14.1.2虚拟代理、远程代理和保护代理


  14.1.3代理模式与装饰者模式的比较


  14.2代理模式的适用场合


  14.3示例:网页统计


  14.4包装Web服务的通用模式


  14.5示例:目录查找


  14.6创建虚拟代理的通用模式


  14.7代理模式之利


  14.8代理模式之弊


  14.9小结


  第15章观察者模式


  15.1示例:报纸的投送


  15.1.1推与拉的比较


  15.1.2模式的实践


  15.2构建观察者API


  15.2.1投送方法


  15.2.2订阅方法


  15.2.3退订方法


  15.3现实生活中的观察者


  15.4示例:动画


  15.5事件监听器也是观察者


  15.6观察者模式的适用场合


  15.7观察者模式之利


  15.8观察者模式之弊


  15.9小结


  第16章命令模式


  16.1命令的结构


  16.1.1用闭包创建命令对象


  16.1.2客户、调用者和接收者


  16.1.3在命令模式中使用接口


  16.2命令对象的类型


  16.3示例:菜单项


  16.3.1菜单组合对象


  16.3.2命令类


  16.3.3汇合起来


  16.3.4添加更多菜单项


  16.4示例:取消操作和命令日志


  16.4.1使用命令日志实现不可逆操作的取消


  16.4.2用于崩溃恢复的命令日志


  16.5命令模式的适用场合


  16.6命令模式之利


  16.7命令模式之弊


  16.8小结


  第17章职责链模式


  17.1职责链的结构


  17.2传递请求


  17.3在现有层次体系中实现职责链


  17.4事件委托


  17.5职责链模式的适用场合


  17.6图片库的进一步讨论


  17.6.1用职责链提高组合对象的效率


  17.6.2为图片添加标签


  17.7职责链模式之利


  17.8职责链模式之弊


  17.9小结


相关文章:

  • 2019-11-11·《锋利的jQuery》第2版pdf
  • 2019-11-11·《高性能JavaScript》pdf
  • 2019-11-11·《JavaScript王者归来》pdf
  • 2019-11-11·《JavaScript语言精粹》(修订版)pdf
  • 2019-11-11·《JavaScript高级程序设计》第三版pdf
  • 2019-11-07·《JavaScriptDOM编程艺术》pdf
  • 免责声明:

    • 二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!
    • 本站所有资源(教程、软件、素材资料等)均来自网友分享收藏,版权归原作者所有,请各位网友下载后于24小时内删除,不得商用;如本站有侵犯到您的权益,请联系本站删除,谢谢合作。
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    ------分隔线----------------------------
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    评价:
    表情:
    用户名: 验证码:点击我更换图片
    分享按钮