Base module
We will start our exploration of the design with the base module. As the name implies, the base module provides the lowest level of functionality for our application.
This is where we import and leverage the functionality of third party libraries and utilities. These libraries can consist of jQuery, Dojo, MooTools, and so on.
The main idea is that we can easily use the functionality provided by such libraries without the need to create a tight dependency between our application and the libraries used.
For instance, consider how we need to detect browser compatibility to attach events to our elements on the page, as follows:
if (elem.addEventListener) { elem.addEventListener(event, callbackFunc); } else if (elem.attachEvent) { // For IE 8 and earlier versions elem.attachEvent("on" + event, callbackFunc); }
Whereras we could easily let jQuery take care of such intricacies by doing the following:
$(elem).on(event,callbackFunc);
Here, we are letting jQuery take care of the browser...