Tag:设计模式

Nodejs设计模式-代理模式

通过代理模式,我们可以将对于一个对象的访问转移给另一个代理对象,这个代理对象可以进行数据的验证,安全校验,缓存控制和日志记录,类似于建立了一个中间层的概念,通过这个代理层,提供的接口对于用户来说是透明的.


Nodejs与设计模式-工厂模式

设计模式是一个针对特定问题上可以重用的解决方式,最早关于设计模式著名的一本书就是GOF四人帮的《Design Patterns: Elements of Reusable Object-Oriented Software, Pearson Education 》,其中定义了大量的设计模式和方法,如果感兴趣的可以搜一下这本书。

JavaScript由于不同于Java C++那种直接的类型继承,它属于原型继承的方式,支持函数式编程,并且是一种动态语言,所以与传统的静态语言在设计模式的代码上面还是有很多区别的。它的灵活性也使得在处理一个问题上面,可以有更多种的解决方案。本系列主要是介绍设计模式的一些经经典模式,以及如何使用JavaScript和Nodejs实现。


Node-Event模块简介

Node的大量核心的API都是构建在Event模块上面的,比如stream模块,该模块内置的data事件可在数据到来时触发,一旦stream流对象为可读状态则发送readable事件,当数据读写完毕后发送end事件等。发送事件其实并非stream本身实现,而是借助于Event对象来实现事件的发送和监听回调绑定。本节内容基于现有的Node v5.7版本,介绍了Node的事件模块的主要API函数的使用,所有例子均可成功运行。


Generator和Promise方案解决回调地狱问题

Generator生成器是在ES6中被引入到JS的世界中,在Koa框架中Generator被大量的用于状态的传递和上下文处理。我们这里主要是通过一些简单的例子来介绍一下Generator和Promise是如何结合使用去处理回调地狱问题


设计模式-观察者模式

设计模式是一种开发程序语言的思路,他针对的是特殊情况下的问题处理方法。所以对于不同的程序语言我们都可以实现其对应的设计模式。设计模式也并非起源于GOF,只不过他们四人对于这些经典的解决方法做了一些总结出了一本书后才被大家所熟知。另外现在的一些程序语言早已在其内部实现了对应的设计模式,比如Python的装饰器模式,迭代器模式。ES6也在不断的改进Javascript的设计,使其包含这些经典的设计方法,使得代码更加的简练,是程序员能够编写出更加高效的代码。