- Welcome to the Node.js Platform
- Node.js Essential Patterns
- Asynchronous Control Flow Patterns with Callbacks
- Asynchronous Control Flow Patterns with ES2015 and Beyond
- Coding with Streams
- Design Patterns
- Writing Modules
- Advanced Asynchronous Recipes
- Scalability and Architectural Patterns
- Messaging and Integration Patterns
- Welcome to the Node.js Platform
- Node.js 的发展
- Node.js 的特点
- 介绍 Node.js 6 和 ES2015 的新语法
- reactor 模式
- Node.js Essential Patterns
- Asynchronous Control Flow Patterns with Callbacks
- Asynchronous Control Flow Patterns with ES2015 and Beyond
- Coding with Streams
- Design Patterns
- Writing Modules
- Advanced Asynchronous Recipes
- Scalability and Architectural Patterns
- Messaging and Integration Patterns
Design Patterns
设计模式是重复出现的问题的可重用解决方案;该术语的定义非常广泛,可以涵盖应用程序的多个领域。然而,这个术语通常与著名的面向对象模式相关联,又被称作可复用的面向对象基础方法。我们经常会将这些特定的模式集合称为传统设计模式或 GoF
设计模式。
在 JavaScript
中应用面向对象的设计模式并不像传统的面向对象的语言那样线性和形式化。我们知道, JavaScript
是范式化的,面向对象的,基于原型的,并且是动态类型语言;它将函数视为一等公民,并允许函数式的编程风格。这些特性使得 JavaScript
成为一种非常通用的语言,它为开发人员提供了巨大的力量,但同时也造成其编程风格与传统语言不同。人们总结 JavaScript
的编程范式,最后总结出 JavaScript
生态系统的模式。有很多方法可以使用 JavaScript
实现相同的结果。对于 JavaScript
的问题,解决一个问题的模式是多样化的。这种现象的一个明显的例子就是 JavaScript
生态系统中有丰富的框架和类库;可能没有其他语言见过这么多,尤其是现在 Node.js
已经给 JavaScript
带来了惊人的新的可能性,并创造了许多新的场景。
在这种背景下,传统的设计模式也受到 JavaScript
本质的影响。实现它们的方式有很多,所以它们传统的,强烈的面向对象的实现意味着它们不再是模式。在某些情况下,它们甚至是不需要的,因为我们知道, JavaScript
没有真正的类或抽象接口。不变的是每个模式的基本原理,解决的问题以及解决方案核心的概念。
本章探讨的设计模式如下:
- 工厂模式(
Factory
) - 揭示构造模式(
Revealing constructor
) - 代理模式(
Proxy
) - 装饰者模式(
Decorator
) - 适配器模式(
Adapter
) - 策略模式(
Strategy
) - 状态模式(
State
) - 模板模式(
Template
) - 中间件模式(
Middleware
) - 命令模式(
Command
)
本章假定读者对
JavaScript
中继承的工作原理有一些概念。 另外请注意,在本章中,我们经常使用一般的和更直观的图来描述一个模式来代替标准的UML
,因为许多模式可以有一个不仅基于类而且基于对象甚至函数的实现。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论