Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
jQuery Design Patterns
jQuery Design Patterns

jQuery Design Patterns: Write Elegant, Structured and Efficient jQuery

Arrow left icon
Profile Icon Greasidis
Arrow right icon
S$42.99 S$47.99
Full star icon Full star icon Full star icon Full star icon Full star icon 5 (5 Ratings)
eBook Feb 2016 246 pages 1st Edition
eBook
S$42.99 S$47.99
Paperback
S$59.99
Subscription
Free Trial
Arrow left icon
Profile Icon Greasidis
Arrow right icon
S$42.99 S$47.99
Full star icon Full star icon Full star icon Full star icon Full star icon 5 (5 Ratings)
eBook Feb 2016 246 pages 1st Edition
eBook
S$42.99 S$47.99
Paperback
S$59.99
Subscription
Free Trial
eBook
S$42.99 S$47.99
Paperback
S$59.99
Subscription
Free Trial

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

jQuery Design Patterns

Chapter 2. The Observer Pattern

In this chapter, we will showcase the Observer Pattern and the convenient way in which we can utilize it in our pages using jQuery. Later on, we will also explain the Delegated Event Observer Pattern variant, which when properly applied to web pages can lead to code simplifications and also lessen the memory consumption that a page requires.

In this chapter, we will:

  • Introduce the Observer Pattern
  • See how the Observer Pattern is used by jQuery
  • Compare the Observer Pattern with using the event attributes
  • Learn how to avoid memory leaks from observers
  • Introduce the Delegated Event Observer Pattern and showcasing its benefits

Introducing the Observer Pattern

The key concept of the Observer Pattern is that there is an object, often referred to as the observable or the subject, whose internal state changes during its lifetime. There are also several other objects, referred as the observers, that want to be notified in the event that the state of the observable/subject changes, in order to execute some operations.

The observers may need to be notified about any kind of state change of the observable or only specific types of changes. In the most common implementation, the observable maintains a list with its observers and notifies them when an appropriate state change occurs. In case a state change occurs to the observable, it iterates through the list of observers that are interested for that type of state change and executes a specific method that they have defined.

Introducing the Observer Pattern

According to the definition of the Observer Pattern and the reference implementation in Computer Science books, the observers are described as objects...

Introducing the Delegated Event Observer Pattern

Now that we have learned some advanced details about how to use the Observer Pattern using jQuery, we will get introduced to a special variation of it that fits perfectly to the web platform and provides some extra benefits. The Delegated Event Observer Pattern (or simply Delegate Observer Pattern) is often used in web development and it utilizes the bubbling feature that most events that are fired on DOM elements have. For example, when we click on a page element, the click event is immediately fired on it, and right after this it also fires on all its parent elements until it reaches the root of our HTML document. Using a slightly different overloaded version of the jQuery's $.fn.on method, we can easily create and attach observers on page elements for delegated events that are fired on specific child elements.

Note

The term "Event Delegation" describes the programming pattern where the handler of an event is not attached directly...

Summary

In this chapter, we learned about the Observer Pattern, how it can make the HTML code of our web pages cleaner, and the way that decouples it from our application's code. We learned how jQuery adds a protection layer to its methods in order to protect us from undetected memory leaks, which may occur by adding observers to elements, when not using the jQuery DOM manipulation methods.

We also tried the Delegated Event Observer Pattern variant and used it to rewrite our initial example. We compared the two implementations and saw how it simplifies writing code that applies to many page elements when they are generated after the page has been loaded. Finally, we had a comparison regarding the memory consumption of the plain Observer Pattern with its delegate variant and highlighted how it also lessens the memory consumption of our page by reducing the required number of attached observers.

Now that we have completed our introduction on how the Observer Pattern is used to listen to...

Left arrow icon Right arrow icon

Key benefits

  • Learn about the observer pattern and the deferred observer pattern, two of the most popular design patterns that handle custom events
  • Advance your jQuery skills by learning about patterns such as divide and conquer, facade, and builder and factory to handle complex results
  • This step-by-step guide to applying micro-patterns and optimizing jQuery applications will help you get the best performance in a production environment

Description

jQuery is a feature-rich JavaScript library that makes HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a variety of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript. jQuery solves the problems of DOM manipulation, event detection, AJAX calls, element selection and document queries, element attribute and data management, as well as object management utilities. This book addresses these problems and shows you how to make the best of jQuery through the various design patterns available. The book starts off with a refresher to jQuery and will then take you through the different design patterns such as facade, observer, publisher/subscriber, and so on. We will also go into client-side templating techniques and libraries, as well as some plugin development patterns. Finally, we will look into some best practices that you can use to make the best of jQuery.

Who is this book for?

This book is for existing jQuery Developers or new developers who want to get an understanding of the “correct way” to build jQuery applications, using best practices and industry standard patterns.

What you will learn

  • * Respond to user actions
  • * Achieve greater flexibility and code decoupling
  • * Have a central point for emitting and receiving application level events
  • * Structure the application into small independent modules
  • * Abstract complex APIs
  • * Isolate the procedure of generating complex parts of the application
  • * Efficiently orchestrate asynchronous procedures using jQuery Deferred and Promises
  • * Utilize the most widely-used client-side templating libraries for more complex use cases

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Feb 26, 2016
Length: 246 pages
Edition : 1st
Language : English
ISBN-13 : 9781785885129
Tools :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Feb 26, 2016
Length: 246 pages
Edition : 1st
Language : English
ISBN-13 : 9781785885129
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just S$6 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just S$6 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total S$ 142.98
jQuery Design Patterns
S$59.99
ASP.NET jQuery Cookbook (Second Edition)
S$82.99
Total S$ 142.98 Stars icon

Table of Contents

12 Chapters
1. A Refresher on jQuery and the Composite Pattern Chevron down icon Chevron up icon
2. The Observer Pattern Chevron down icon Chevron up icon
3. The Publish/Subscribe Pattern Chevron down icon Chevron up icon
4. Divide and Conquer with the Module Pattern Chevron down icon Chevron up icon
5. The Facade Pattern Chevron down icon Chevron up icon
6. The Builder and Factory Patterns Chevron down icon Chevron up icon
7. Asynchronous Control Flow Patterns Chevron down icon Chevron up icon
8. Mock Object Pattern Chevron down icon Chevron up icon
9. Client-side Templating Chevron down icon Chevron up icon
10. Plugin and Widget Development Patterns Chevron down icon Chevron up icon
11. Optimization Patterns Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Full star icon Full star icon 5
(5 Ratings)
5 star 100%
4 star 0%
3 star 0%
2 star 0%
1 star 0%
B. S. Oluwa Apr 14, 2016
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Absolutely well written and explains a lot of the patterns used in the industry linked directly to jQuery's implementation. Breaks down key concepts and has a very fluid flow of information with the examples implemented in the book. Nice easy read too. Thanks Thodoris Greasidis.BSO
Amazon Verified review Amazon
Amazon Customer Jul 20, 2016
Full star icon Full star icon Full star icon Full star icon Full star icon 5
After reading the book, i have to confess that i feel much more comfortable when dealing with front-end issues.The author, following a great flow in every single chapter, provides you the way you have to think before startingto develop the front-end part of your web application.Included, you will find "ready-to-run" parts of code which will help you easily endorse the best practices using jQuery.To conclude, i find the book a must-read for every web developer who wants to learn how to set things up the right waywith the power of jQuery.
Amazon Verified review Amazon
Christopher Varakliotis Jun 28, 2016
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book is a great resource for those looking to deepen their knowledge of jQuery and Javascript.Though the topics covered could be considered fairly advanced, the author does an excellent job explaining how and where the various patterns and techniques can be used, giving practical examples and in many cases going out of his way to shed light on the internals of jQuery, which is great if you are concerned about performance, or just curious about how things such as method overloading are implemented.Best practices for creating jQuery plugins could not be absent from this book, as expected, and are followed again by simple-to-follow examples and boilerplate code.The book does not stop at covering jQuery patterns however: hot topics such as ES6, memory management, DOM manipulation performance & client side templating are also covered.All in all, this a must read for any web developer. It will help you use jQuery in a more effective and productive way, and -given that many of the lessons learned by this book apply to other programming environments as well- become better at the craft of producing code.
Amazon Verified review Amazon
Amazon Customer Jun 27, 2016
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I found this book to be an exceptionally useful tool for the web developers who want to upgrade their jQuery skills.The text covers everything you need to know in design patterns in order to tackle common problems and help you write clean and maintainable code. It is perfect for people with some basic knowledge of jQuery who want to build large scale web applications.The coding examples are extremely useful and concise.
Amazon Verified review Amazon
Amazon Customer Jun 26, 2016
Full star icon Full star icon Full star icon Full star icon Full star icon 5
The contents of the book are very easy to consume and digest, thus focusing in providing suggestions and examples for various considerations and requirements of real world application development. It’s as explanatory as it should be and never made me skip a paragraph.If you are an experienced software developer working on the server side and back-end systems and fan of best practices and design patterns (like me), want to make your web products better by adding some presentation logic and interactivity on the client, the right way, then this book is highly recommended. If you have worked with javascript & jQuery, but want to quickly start writing high quality, well-structured, controllable code without using a more sophisticated javascript framework, then this book will give exactly you what you want and expect.It’s not about jQuery, but rather on how jQuery should be used in the real world of modular, extendable and maintainable application programming. I especially enjoyed references to Asynchronous Control and Plugins designing.I also think that this book should be a first reference to young programmers who opt for front-end development and want to get involved with more advanced frameworks.It certainly made me appreciate frond-end development more than I could expect.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.

Modal Close icon
Modal Close icon