July 2012
Intermediate to advanced
254 pages
6h 16m
English
Keep in mind that there will be patterns in this table that reference the concept of “classes.” JavaScript is a classless language; however, classes can be simulated using functions.
The most common approach to achieving this is by defining a
JavaScript function in which you then create an object using the new keyword. Use this to define new properties and methods for
the object as follows:
// A Car "class"functionCar(model){this.model=model;this.color="silver";this.year="2012";this.getInfo=function(){returnthis.model+" "+this.year;};}
We can then instantiate the object using the car
constructor we defined above like this:
varmyCar=newCar("ford");myCar.year="2010";console.log(myCar.getInfo());
For more ways to define classes using JavaScript, see Stoyan Stefanov’s useful post on them.
Let us now proceed to review the table.
Table 8-1.
| Creational | Based on the concept of creating an object | ||||||
| Class | |||||||
| Factory method | Makes an instance of several derived classes based on interfaced data or events | ||||||
| Object | |||||||
| Abstract factory | Creates an instance of several families of classes without detailing concrete classes | ||||||
| Builder | Separates object construction from its representation; always creates the same type of object | ||||||
| Prototype | A fully initialized instance used for copying or cloning | ||||||
| Singleton | A class with only a single instance with global access points | ||||||
| Structural | Based on the idea of building blocks of objects ... |