Model View Controller
C++11 Model View Controller skeleton
Three objects contain most of the functionality. In addition, utilities.* provides crosscut features like global logging.
CONTROLLER header
#include "HTDJInterface.h"
#include "HTDJLocalModel.h"
#include "HTDJRemoteModel.h"
class HTDJController
    HTDJController(
        HTDJLocalModel& local,
        HTDJRemoteModel& remote,
        HTDJInterface& hinterface
VIEW header
class HTDJController;
class HTDJInterface
{
   HTDJInterface( HTDJController* p_controller)
MODEL header
class HTDJLocalModel;
// Note that we want GLOBAL ACCESS to a GENERIC local model.
extern HTDJLocalModel* g_p_local;
class HTDJLocalModel
{
    HTDJLocalModel();
HTML+CSS+JS as MVC
- HTML is your Model, containing your data
 - CSS is your View, defining how the page should look
 - JS is your Controller, controlling how the model and view interact.