The module pattern
As you build large applications, you will soon realize that it becomes increasingly difficult to keep the code base organized and modular. The module patterns help in keeping the code cleanly separated and organized.
Module separates bigger programs into smaller pieces and gives them a namespace. This is very important because once you separate code into modules, these modules can be reused in several places. Carefully designing interfaces for the modules will make your code very easy to reuse and extend.
JavaScript offers flexible functions and objects that make it easy to create robust module systems. Function scopes help create namespaces that are internal for the module, and objects can be used to store sets of exported values.
Before we start exploring the pattern itself, let's quickly brush up on a few concepts that we discussed earlier.
We discussed object literals in detail. Object literals allow you to create name-value pairs as follows:
var basicServerConfig = { ...