- JavaScript:Moving to ES2015
- Ved Antani Simon Timms Narayan Prusty
- 272字
- 2021-07-09 19:07:37
Chapter 5. JavaScript Patterns
So far, we have looked at several fundamental building blocks necessary to write code in JavaScript. Once you start building larger systems using these fundamental constructs, you soon realize that there can be a standard way of doing a few things. While developing a large system, you will encounter repetitive problems; a pattern intends to provide a standardized solution to such known and identified problems. A pattern can be seen as a best practice, useful abstraction, or template to solve common problems. Writing maintainable code is difficult. The key to write modular, correct, and maintainable code is the ability to understand the repeating themes and use common templates to write optimized solutions to these. The most important text on design patterns was a book published in 1995 called Design Patterns: Elements Of Reusable Object-Oriented Software written by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides—a group that became known as the Gang of Four (GOF for short). This seminal work gave a formal definition to various patterns and explained implementation details of most of the popular patterns that we use today. It is important to understand why patterns are important:
- Patterns offer proven solutions to common problems: Patterns provide templates that are optimized to solve a particular problem. These patterns are backed by solid engineering experience and tested for validity.
- Patterns are designed to be reused: They are generic enough to fit variations of a problem.
- Patterns define vocabulary: Patterns are well-defined structures and hence provide a generic vocabulary to the solution. This can be very expressive when communicating across a larger group.
- C++案例趣學
- INSTANT OpenCV Starter
- Apache Spark 2.x Machine Learning Cookbook
- Processing互動編程藝術
- Scratch真好玩:教小孩學編程
- Microsoft Dynamics GP 2013 Reporting, Second Edition
- OpenCV 4計算機視覺項目實戰(原書第2版)
- Android驅動開發權威指南
- Internet of Things with ESP8266
- Node學習指南(第2版)
- R語言數據可視化:科技圖表繪制
- Scratch·愛編程的藝術家
- 深度實踐KVM:核心技術、管理運維、性能優化與項目實施
- Clojure High Performance Programming(Second Edition)
- Java高手是怎樣煉成的:原理、方法與實踐