- 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.
- Embedded Linux Projects Using Yocto Project Cookbook
- 程序員面試筆試寶典(第3版)
- GAE編程指南
- DevOps with Kubernetes
- 新一代通用視頻編碼H.266/VVC:原理、標準與實現
- 樂高機器人設計技巧:EV3結構設計與編程指導
- RTC程序設計:實時音視頻權威指南
- Java EE企業級應用開發教程(Spring+Spring MVC+MyBatis)
- Scala編程(第5版)
- Unity 2018 Augmented Reality Projects
- 實戰Java高并發程序設計(第2版)
- 軟件工程基礎與實訓教程
- PHP與MySQL權威指南
- Building Business Websites with Squarespace 7(Second Edition)
- Python數據科學實踐指南