zoukankan      html  css  js  c++  java
  • 读《javascript设计模式》后感

    《javascript设计模式》的作者一个是美国雅虎的前端开发工程师,另一个是google的前端开发工程师,两人都十分熟悉YUI,所以这本书里随处可以看到YUI的影子,比如单一模式中的全局变量,直接对应的是YUI的YAHOO对象,然后extend方法,on方法,等等,在YUI源码中全都找得到相应的代码,呵呵,这对于包括我在内的一直使用YUI进行开发的工程师们来说,是非常有亲和力的。

    书里讲的比较有趣的地方,并不在于第二部分的设计模式的讲解,而在第一部分对js的比较深入又有些生僻的地方的讲解,比如说js的继承。书中提到js有三种继承方式,其实第三种掺元类继承不应该算做继承,可以理解为面向对象中一种常用的方法——组合的衍生。第一种继承类式继承和第二种原型继承是真正的继承。对于类式继承,我比较熟悉,而对于原型继承,就真如作者据说,很少有人知晓了。感觉很新颖,不过,并不觉得实用,从团队合作的代码可读性方面,自己代码的一个维护难度方面考虑,还是用类式继承比较稳妥,原型继承算是了解一下,扩充一下知识点吧。

    类式继承中,书里也提到了几个很有趣的地方,比如静态常量,私有变量,特权方法等等,充分利用了闭包的特性,让人耳目一新。非常有价值!

    书中还提到了接口的问题,任何一个面向对象语言中,接口都是个非常重要的东西,特别在复杂应用中,团队合作中,接口的地位无可替代!可是对于js这种基于原型的非正统面向对象语言,原生js是不提供接口这个类型的。一种方法是通过规范的文档,约定好接口的相关事宜,大家统一遵守,另一种就是书中介绍的模拟接口的方式。这个方法也非常有意思,不一定在我们的应用中有这样的需求,不过,可以把这个做为一个解决方案的知识点记下来,以后有需要的时候,可以考虑使用。

    对于书中的第二部分,也就是设计模式的讲解,书中提到的模式不太多,比如说状态模式,策略模式等等都没有讲到。其实帮助不是太大,设计模式本身也是超脱于具体语言的一种东西,所以这个后半部分有或没有,帮助不算太大,学习设计模式的话,可以看别的书籍也一样。让我有些意外的是,书中设计模式的名称好像不太正确。我看过的其它的设计模式的书,名称和相应的模式规则比较统一,估且认为那些书中相关模式的名称是对的吧,那么《j式》中的设计模式的名称就不太对了,比如说,书中提到的观察者模式,其实应该是命令模式,门面模式应该是组合模式,而组合模式应该是观察者模式。

  • 相关阅读:
    javaweb学习总结(四十五)——监听器(Listener)学习二
    javaweb学习总结(四十四)——监听器(Listener)学习
    javaweb学习总结(四十三)——Filter高级开发
    javaweb学习总结(四十二)——Filter(过滤器)学习
    javaweb学习总结(四十一)——Apache的DBUtils框架学习
    javaweb学习总结(四十)——编写自己的JDBC框架
    javaweb学习总结(三十九)——数据库连接池
    javaweb学习总结(三十八)——事务
    javaweb学习总结(三十七)——获得MySQL数据库自动生成的主键
    javaweb学习总结(三十六)——使用JDBC进行批处理
  • 原文地址:https://www.cnblogs.com/cly84920/p/4427023.html
Copyright © 2011-2022 走看看