473,327 Members | 2,012 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,327 software developers and data experts.

Minimising duplication using ((){})();

I'm building some code that using this type of structure to interface to
SCORM compliant LMS:

var API = (function() {
// Private variables
var started = false;

// Private methods

// Public methods
return {
// Initialise
Initialize : function() {
started = true;

}
}
})();
Unfortunately there are two common standards that need to be satisfied
and I was hoping to do it with minimal duplication.

My problems are these:

1. Some LMS will be referring to 'API' and some will be expecting the
name 'API_1484_11'. If I add this line

var API_1484_11 = API;

does that mean, say, that I could call API.Initialize() and it would be
the same as calling API_1484_11.Initialize()?

2. The public methods are identical in content but need to have slightly
different names for 'API' and 'API_1484_11'. For example, 'Initialize'
and 'LMSInitialize'. How can I achieve this without duplicating the
entire method?

Andrew Poulos


Jul 16 '08 #1
1 1258
Andrew Poulos <ap*****@hotmail.comwrites:

....
1. Some LMS will be referring to 'API' and some will be expecting the
name 'API_1484_11'. If I add this line

var API_1484_11 = API;

does that mean, say, that I could call API.Initialize() and it would
be the same as calling API_1484_11.Initialize()?
Yes. They not only behave the same, they are the same: The same method
called on the same object.
2. The public methods are identical in content but need to have
slightly different names for 'API' and 'API_1484_11'. For example,
'Initialize' and 'LMSInitialize'. How can I achieve this without
duplicating the entire method?
API.LMSInitialize = API.Initialize;
var API_1484_11 = API;

API.Initialize();
API_1484_11.LMSInitialize(); // exactly the same

.... as long as you don't have the same method name meaning different
things in the different APIs.

/L
--
Lasse Reichstein Nielsen
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'
Jul 16 '08 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.