0%

前言

命名、抽象、标识是通用设计结构的主要方面,这些设计结构能被用于构造可复用的面向对象设计。设计模式确定所包含的类和实例、它们的角色、协作方式以及职责分配。

每一种设计模式都重点关注一个特定的对象设计问题或者设计要点,描述何时使用它,在另一些约束条件下是否还能使用,以及使用的效果和利弊。由于我们最终要实现设计,设计模式还是提供了示例,代码来阐明其实现。

虽然设计模式描述的是面向对象设计,但是他们都是基于实际的解决方案。这些设计方案的实现语言是主流面向对象的编程语言。

阅读全文 »

写在前面

fetchXMLHttpRequest 非常类似,都是用来做网络请求。但是同复杂的XMLHttpRequest的API相比,fetch使用了Promise,这让它使用起来更加简洁,从而避免陷入"回调地狱"。

两者比较

比如,如果我们想要实现这样一个需求:请求一个URL地址,获取响应数据并将数据转换成JSON格式。使用fetchXMLHttpRequest实现的方式是不同的。

阅读全文 »

写在前面

很多前端工程师的人说自己精通Javascript语言,问他call()和apply()这两个方法有什么区别,结果往往是一问三不知。
其实区分 apply和call就一句话:

1
foo.call(this,arg1,arg2,arg3)==foo.apply(thsi,arguments)==this.foo(arg1,arg2,arg3);
阅读全文 »

写在前面

废话不多说,请看下面3道题,把6个console.log()的答案写下来,然后对照着在Console控制台里敲一遍,校验一下结果。

阅读全文 »

所谓继承,比较熟悉,这里就是指定义一个新的controller/service(不同名),继承原来的controller/service,然后在其基础上重写一些功能。
所谓扩展,这里说的是在不产生新的controller/service的情况下,添加或修改原controller/service的功能。

目前研究的结果就是service可以轻松的实现继承和扩展,而controller貌似只能继承。

阅读全文 »