How can I refactor client side functionality to create a product line-like generic design?

Posted by Nupul on Programmers See other posts from Programmers or by Nupul
Published on 2011-11-12T04:55:03Z Indexed on 2011/11/13 2:07 UTC
Read the original article Hit count: 321

Filed under:
|
|
|

Assume the following situation similar to that of Stack Overflow: I have a system with a front-end that can perform various manipulations on the data (by sending messages to REST back-end):

  • Posting
  • Editing and deleting
  • Adding labels and tags

Now in the first version we created it well modularized but the need as of now for 'evolving' the system similar to Stack Overflow. My question is how best to separate the commonality and how to incorporate the variability with respect to the following:

Commonality:

  • The above 'functionalities' and sending/receiving the data from the server
  • Look and feel (also a variability as explained below)
  • HTTP verbs associated with the above actions

Variability:

  • The RESTful URLs where the requests are sent
  • The text/style of the UI (the commonality is analogous to Stack Overflow - the functionality of upvotes, posting a question remains the same, but the words, the icons, the look and feel is still different across sites)

I think this is entirely a client-side code organization/refactoring issue. I'm heavily using jQuery, javascript and backbone for front-end development.

My question is how best should I isolate the same to be able to create multiple such aspects to the tool we are currently working on?

© Programmers or respective owner

Related posts about JavaScript

Related posts about design