返回介绍

Design Patterns

发布于 2025-01-25 22:50:13 字数 1466 浏览 0 评论 0 收藏 0

设计模式是重复出现的问题的可重用解决方案;该术语的定义非常广泛,可以涵盖应用程序的多个领域。然而,这个术语通常与著名的面向对象模式相关联,又被称作可复用的面向对象基础方法。我们经常会将这些特定的模式集合称为传统设计模式或 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文