I won't lie I'm awesome with JavaScript nor that I understood the IIFE concept in its totality, but since I read jQuery Best Practices and then first met the concept plus some researching made later, I came up to this:
( function( MyObject, window, document, $, undefined ) {
var privateVariable = {};
MyObject.publicVariable;
function privateMethod() {}
myObject.publicMethod() {}
}( window.MyObject = window.MyObject || {}, window, document, window.jQuery ) );
Although it works nicely as expected I recently felt the need of some form of abstraction so i could create a base class with shared properties and methods and child objects with their own logic.
That way I wouldn't need, let's say, repeat a getter common to all children in each individual object.
I've searched about this matter, of course, but I didn't find specific information on how to implement such feature with this concept.
How about using a construction method: