官术网_书友最值得收藏!

Chapter 1. A Refresher on jQuery and the Composite Pattern

Until the Web 2.0 era started, the Web was just a document-based media and all it offered was just interconnecting different pages/documents and client-side scripting that was mostly limited to form validation. By 2005, Gmail and Google Maps were released, and JavaScript proved itself as a language used by big enterprises to create large-scale applications and provide rich user interface interactions.

Even though JavaScript has had very few changes since its original release, there was a tremendous change in the expectations that the Enterprise world had about what web pages should be capable of doing. Since then, web developers were required to deliver complex user interactions and, finally, the term "web application" appeared on the market. As a result, it started to become obvious that they should create some code abstractions, define some best practices, and adopt all the applicable Design Patterns that computer science had to offer. The wide adoption of JavaScript for enterprise-grade applications helped the evolution of the language, which with the EcmaScript2015/EcmaScript6 (ES6) specification was expanded in a way that allowed even more Design Patterns to be easily utilized.

In August 2006, the jQuery library was first released by John Resig at http://jquery.com, as an effort to create a convenient API to locate DOM elements. Since then, it has been an integral part of a web developer's toolkit. jQuery in its core uses several Design Patterns and tries to urge their use to the developer through the methods that it provides. The Composite Pattern is one of them and it is exposed to the developer through the very core jQuery() method, which is used for DOM traversal, one of the highlights of the jQuery library.

In this chapter, we will:

  • Have a refresher on DOM scripting using jQuery
  • Introduce the Composite Pattern
  • See how the Composite Pattern is used by jQuery
  • Discuss the gains offered by jQuery over plain JavaScript DOM manipulations
  • Introduce the Iterator Pattern
  • Use the Iterator Pattern in an example application
主站蜘蛛池模板: 江西省| 德惠市| 苏尼特左旗| 镇巴县| 万山特区| 澜沧| 镇巴县| 三门县| 日喀则市| 宁海县| 肃南| 阜阳市| 会同县| 武平县| 合作市| 佳木斯市| 塔城市| 绥芬河市| 即墨市| 平乐县| 图木舒克市| 明水县| 建昌县| 罗源县| 巴楚县| 中西区| 武清区| 内丘县| 大同市| 安达市| 承德市| 汉源县| 武隆县| 武鸣县| 三台县| 柳江县| 铜陵市| 富锦市| 比如县| 霍州市| 全州县|