Book Image

jQuery Design Patterns

By : Thodoris Greasidis
Book Image

jQuery Design Patterns

By: Thodoris Greasidis

Overview of this book

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.
Table of Contents (18 chapters)
jQuery Design Patterns
About the Author
About the Reviewer

Modules and Namespaces

The two main practices of this chapter are Modules and Namespaces, which are used together in order to structure and organize our code. We will first analyze the main concept of Modules that is code encapsulation and right after this, we will proceed to Namespacing, which is used to logically organize an implementation.

Encapsulating internal parts of an implementation

While developing a large-scale and complex web application, the need for a well-defined, structured architecture becomes clear from the beginning. In order to avoid creating a spaghetti code implementation, where different parts of our code call each other in a chaotic way, we have to split our application into small, self-contained parts.

These self-contained pieces of code can be defined as Modules. To document this architecture principle, Computer Science has defined concepts such as Separation of Concerns, where the role, operation, and the exposed API of each Module should be strictly defined and focused...