JavaScript设计模式 - (EPUB全文下载)

文件大小:0.33 mb。
文件格式:epub 格式。
书籍内容:

JavaScript设计模式
第1章 灵活的语言——JavaScript
第2章 写的都是看到的——面向对象编程
第二篇 创建型设计模式
第3章 神奇的魔术师——简单工厂模式
第4章 给我一张名片——工厂方法模式
第5章 出现的都是幻觉——抽象工厂模式
第6章 分即是合——建造者模式
第7章 语言之魂——原型模式
第8章 一个人的寂寞——单例模式
第三篇 结构型设计模式
第9章 套餐服务——外观模式
第10章 水管弯弯——适配器模式
第11章 牛郎织女——代理模式
第12章 房子装修——装饰者模式
第13章 城市间的公路——桥接模式
第14章 超值午餐——组合模式
第15章 城市公交车——享元模式
第四篇 行为型设计模式
第16章 照猫画虎——模板方法模式
第17章 通信卫星——观察者模式
第18章 超级玛丽——状态模式
第19章 活诸葛——策略模式
第20章 有序车站——职责链模式
第21章 命令模式
第22章 驻华大使——访问者模式
第23章 媒婆——中介者模式
第24章 做好笔录——备忘录模式
第25章 点钞机——迭代器模式
第26章 语言翻译——解释器模式
第五篇 技巧型设计模式
第27章 永无尽头——链模式
第28章 未来预言家——委托模式
第29章 数据管理器——数据访问对象模式
第30章 执行控制——节流模式
第31章 卡片拼图——简单模板模式
第32章 机器学习——惰性模式
第33章 异国战场——参与者模式
第34章 入场仪式——等待者模式
第六篇 架构型设计模式
第35章 死心眼——同步模块模式
第36章 大心脏——异步模块模式
第37章 分而治之——Widget模式
第38章 三人行——MVC模式
第39章 三军统帅——MVP模式
第40章 视图的逆袭——MVVM模式
附录 A
看完了
第1章 灵活的语言——JavaScript
结束了4年的大学学习生活,小白信心满满地来到应聘的M公司。今天是入职的第一天,项目经理分下来一个验证表单功能的任务,内容不多,仅需要验证用户名、邮箱、密码等。
1.1 入职第一天
小白接到需求看了看,感觉很简单,于是便写下几个函数。
function checkName(){
  // 验证姓名
}
function checkEmail(){
  // 验证邮箱
}
function checkPassword(){
  // 验证密码
}
......
于是要把自己的代码提交到团队项目里。
正在此时,一位工作多年的程序员小铭看到小白要提交的代码摇了摇头说:“小白,等一下,先不要提交。”
“怎么了?”
“你创建了很多全局变量呀。”
“变量?我只是写了几个函数而已。”
“函数不是变量么?”小铭反问道。
此时小白不知所措,心想:“难道函数是变量?”脸瞬间沉了下来。
1.2 函数的另一种形式
小铭见此情形忙笑着说:“别着急,你看,如果我这么声明几个变量来实现你的功能你看可以么?”
var checkName = function(){
  // 验证姓名
}
var checkEmail = function(){
  // 验证邮箱
}
var checkPassword = function(){
  // 验证密码
}
“一样的,只不过……”
“对,只不过这个在用的时候要提前声明,但是这么看你就会发现你创建了3个函数保存在变量里来实现你的功能,而你写的是将你的变量名放在function后面而已,它也代表了你的变量。所以说你也声明了3个全局变量。”
“这有什么问题呢?”
“从功能上讲当然没问题,但是今天你加入了我们的团队,在团队开发中你所写的代码就不能只考虑自己了,也要考虑不影响到他人,如果别人也定义了同样的方法就会覆盖掉原有的功能了。如果你定义了很多方法,这种相互覆盖的问题是很不容易察觉到的。”
“那我应该如何避免呢?”小白问道。
“你可以将它们放在一个变量里保存,这样就可减少覆盖或被覆盖的风险,当然一旦被覆盖,所有的功能都会失效,这种现象也是很明显的,你自然也会很轻易觉察到。”
“可是我该如何做呢?”小白迫不及待地追问道。
1.3 用对象收编变量
“一猜你就会问。”
“好吧,请你先简单地说一下。”
“对象你知道吧,它有属性和方法,而如果我们要访问它的属性或者方法时,可通过点语法向下遍历查询得到。我们可以创建一个检测对象,然后把我们的方法放在里面。”
var CheckObject = {
  checkName : function(){
    // 验证姓名
  },
  checkEmail : function(){
    // 验证邮箱
  },
  checkPassword : function(){
    // 验证密码
  }
}
“此时我们将所有的函数作为CheckObject 对象的方法,这样我们就只有一个对象,而我们要想使用它们也很简单,比如检测姓名CheckObject.checkName(),只是在我们原来使用的函数式前面多了一个对象名称。”
“哦,这样呀,但是我们既然可以通过点语法来使用方法,我们是不是也可以这么创建呢?”
1.4 对象的另一种形式
“当然,不过首先你要声明一个对象,然后给它添加方法,当然在JavaScript中函数也是对象,所以你可以这么做:”
var CheckObject = function(){};
CheckObject.checkName = function(){
  // 验证姓名
}
CheckObject.checkEmail = function(){
  // 验证邮箱
}
CheckObject.checkPassword = function(){
  // 验证密码
}
“使用和前面的方式是一样的,比如CheckObject.checkName(),”小铭接着说,“现在虽然能满足你的需求,但当别人想用你写 ............

以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。

版权声明:书云(openelib.org)是世界上最大的在线非盈利图书馆之一,致力于让每个人都能便捷地了解我们的文明。我们尊重著作者的知识产权,如您认为书云侵犯了您的合法权益,请参考版权保护声明,通过邮件openelib@outlook.com联系我们,我们将及时处理您的合理请求。 数研咨询 流芳阁 研报之家 AI应用导航 研报之家
书云 Open E-Library » JavaScript设计模式 - (EPUB全文下载)