低代码到底是不是行业毒瘤?一线大厂怎么做的?戳此了解>>> 了解详情
写点什么

JavaScript 应用设计模式

2013 年 9 月 11 日

我们正在编写越来越大、越来越复杂的 _JavaScript_ 应用,在其中用上了最新的框架和类库,但我们往往忽视了创造这些类库时涉及到的核心原则。 Carl Danley是一位资深 Web 工程师,并编写了一系列有关 _JavaScript_ 设计模式的博客文章。模式提供了编写结构化、可扩展和可维护代码的清晰的方法,以及在开发大型 _JavaScript_ 应用时极其重要的理念。

令 _Carl_ 感到使用模式如此重要的一部分原因是:

  • 模式是一种指代某个非常具体的代码实现的便捷方法。如果没有用于模式的词汇表,那么大家为了达成一致将需要额外的讨论,而模式则能够避免这一问题。
  • 模式有助于在早期阶段克服枝节问题,从而避免它们拖到后期变成主要问题。
  • 模式体现了一定程度的复杂性——能够同时提升性能并减少内存使用。
  • 模式的建立经过严格的测试,而且在大多数情况下,能够解决特定类型的问题。

_Carl_ 引用了《学习_JavaScript_ 设计模式》的作者 Addy Osmani 的一段话:

对编写可维护代码来说,最重要的因素之一,是能够注意到代码中重复出现的主题,并对其进行优化。这个领域正是关于设计模式的知识的价值所在。

迄今为止,_Carl_ 已经在博客文章中讨论了以下模式:

_Carl_ 描述了每个模式的用途、主要的用例以及其优缺点,并为每个模式都编写了一个小型例程。他还打算在近期增加工厂模式、_Mixin_ 模式和装饰模式。

Carl_ 已经贡献了许多开源框架和类库,例如 _jQueryWordPressBackbone_ 和 _Angular.js

查看英文原文: Design Patterns for JavaScript Applications

2013 年 9 月 11 日 03:403312
用户头像

发布了 256 篇内容, 共 50.9 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

计算机网络基础(一)---计算机网络概览篇

书旅

php laravel 计算机网络

在前端如何玩转 Word 文档

阿宝哥

html markdown word

三大 OSS 缓存加速系统巅峰对决

苏锐

hadoop cache JuiceFS JindoFS Performance

2020,是中国SaaS行业的机遇之年?

ToB行业头条

将设计模式应用到日常的curd中—分离关联查询

LSJ

Java 设计

设计模式六大原则

刘志刚

设计原则

为什么我们需要制品管理?

Man

DevOps nexus 制品库管理 Artifactory

吴恩达推荐笔记:22张图总结深度学习全部知识

程序员生活志

学习 吴恩达

为什么单元测试不是持续交付的唯一答案

禅道项目管理

持续集成 单元测试

企业的数字化转型探索

松子(李博源)

企业架构 数字化 企业数字化转型

【融云分析】融云实时音视频 SDK 对智能硬件的视频适配

Geek_116789

我在项目中是这样配置Vue的

前端有的玩

Java Vue 前端 框架设计

laravel redis队列不执行

kaer

laravel redis Queue

微信小程序使用GoEasy实现websocket实时通讯

GoEasy消息推送

小程序 websocket 即时通讯

火焰图:全局视野的Linux性能剖析

Marionxue

MobTech袤博与百度战略签约 携手布局数据智能产业新蓝图

Geek_116789

如何把百万级别的订单根据金额排序

码哥字节

数据结构 排序算法

Worktile完成新一轮融资,将发力研发管理赛道

Worktile

融资

第6周-作业2-总结

seng man

啃碎并发(10):内存模型之内部原理

猿灯塔

Spring Boot 2.3.0正式发布:优雅停机、配置文件位置通配符新特性一览

YourBatman

spring springboot

腾讯的ToB梦想

ToB行业头条

话题讨论|在编程中,有哪些好习惯是应该一直坚持下去的?

InfoQ写作平台官方

写作平台 话题讨论 话题

抢滩新基建,百度还会输给阿里和腾讯吗?

ToB行业头条

女员工被阿里录取工资二万六,辞职时被领导挽留:给你4万留下

程序员生活志

阿里 女程序员

阿里拍卖,能不能拍到点儿上?

ToB行业头条

讲烂了的mysql,今天再给大家重温一下

爱嘤嘤嘤斯坦

Java MySQL 数据库 编程 mysql事务

猿灯塔:spring Boot Starter开发及源码刨析(四)

猿灯塔

Java 猿灯塔 spring Boot Starter

推荐系统大规模特征工程与FEDB的Spark基于LLVM优化

范式AI云

spark Sparksql 推荐系统 LLVM FEDB

​中国SaaS处在什么阶段?

ToB行业头条

IDC2020 Q1通用服务器数据发布,浪潮信息成绩喜人

Geek_116789

2021 ThoughtWorks 技术雷达峰会

2021 ThoughtWorks 技术雷达峰会

JavaScript应用设计模式-InfoQ