Node.js之单利模式

作者: 老马的春天 | 来源:发表于2017-10-12 11:39 被阅读66次

在iOS中我们经常用到单利模式,这样就能够实现在多处共享同一数据,那么在Node.js中也存在这种模式。

我们知道,Node.js中模块的概念很重要,在写模块的接口的时候,只需要暴露出一个实例对象就能实现单利模式。

这依赖于模块加载的缓存机制,在这篇文章中我给出了说明。Node.js之循环依赖

我们先看看一个简单的logger模块的代码:

class Logger {
    constructor(name) {
        this.name = name;
        this.count = 0;
    }

    log(message) {
        this.count++;
        console.log(`${this.name} ${message} count: ${this.count}`);
    }

    info(message) {
        this.log(`info: ${message}`);
    }

    verbose(message) {
        this.log(`verbose: ${message}`);
    }
}

module.exports = new Logger("DEFAULT");

代码很简单,用的是ES6的新语法,这些其实都是prototype的语法糖。那么再看看验证是否是单利的代码:

const logger = require("./logger.js");
logger.info("This is a message");
logger.verbose("This is a verbose message");

打印结果:

DEFAULT info: This is a message count: 1
DEFAULT verbose: This is a verbose message count: 2

通过count属性,我们发现确实符合单利模式特性。

以上这些内容来自于这本书nodejs-design-patternshttps://github.com/agelessman/MyBooks

目前国内的资料还是比较少的,像这么好的书,确实值得推荐。

相关文章

  • Node.js之单利模式

    在iOS中我们经常用到单利模式,这样就能够实现在多处共享同一数据,那么在Node.js中也存在这种模式。 我们知道...

  • JavaJavascript基础进阶(十七)JS中常用的设计模式

    单利设计模式、构造原型设计模式、发布订阅设计模式、promise设计模式 单利模式 构造原型设计模式 最贴近OOP...

  • 单例模式

    单利模式

  • 单利设计模式

    单利模式的介绍 单利模式是应用最广的模式之一,也可能是很多初级工程师唯一会使用的设计模式。在应用这个模式时,单利对...

  • 细品 javascript 设计模式(单利模式)

    我尽量用最少的文字,最少的篇幅,讲明白设计模式的方方面面。文章连接 理解单利模式 上代码:通用的惰性单利模式 单利...

  • 设计模式

    单利模式 代理模式 工厂模式 装饰者模式:

  • 2018-05-14

    单利设计模式 懒汉式 单例模式 饿汉式 单利模式 懒汉式与饿汉式的区别: 双重锁式 单例模式 (DCL )

  • 单利模式

    11

  • 单利模式

    简介 定义:保证一个类仅有一个实例,并提供唯一一个全局访问他的节点。 1,饿汉模式 public Class Si...

  • 单利模式

    单例的实现 单例模式的优点: 单例模式在内存中只有一个实例,减少了内存开支。特别是一个对象需要频繁的创建、销毁时,...

网友评论

    本文标题:Node.js之单利模式

    本文链接:https://www.haomeiwen.com/subject/tqvnyxtx.html