I rather setup my modules like this:

myModule = function View(){

  var me = {},
        privateVar = true,
        privateFunction = function(){return true;};

  me.publicFunction = function(data) {
      //do something with private/public data here.
      privateFunction();
      privateVar = false;
  };

  return me;

};

I like to keep the internal workings of my objects a secret and only
expose a public api. Closures are my friend in this case :)

On Dec 17, 5:32 am, Tom <[email protected]> wrote:
> I'm looking for ideas on improving the structure of modules within a
> website. As code grows within a single file (generally representing a
> page or module controller), I find it becomes important to organise
> the file well. At the moment I have a rather arbitrary set up, based
> on the concept of Model/View/Controller:
>
> myModule = function(){
>   var Model = {
>     // data manipulation stuff goes here. eg:
>     parseJSONResponse: function(){}
>   };
>   var View = {
>     // dom stuff goes here
>     getInputFieldValue: function(){}
>   };
>   var Controller = {
>     // handling of interesting moments
>     bindEvents: function(){},
>     init: function(){}
>   };
>   return {
>      init: Controller.init
>   };
>
> }();
>
> I find this separation helps people to understand the code. The
> consistent format means it's easy to follow the module set up, and it
> leans toward writing single-purpose functions.
>
> It is as I mentioned entirely arbitrary and as such not ideal. Can
> anyone suggest a simple structure that may improve the situation?
>
> Tom

-- 
To view archived discussions from the original JSMentors Mailman list: 
http://www.mail-archive.com/[email protected]/

To search via a non-Google archive, visit here: 
http://www.mail-archive.com/[email protected]/

To unsubscribe from this group, send email to
[email protected]

Reply via email to