“Hello World” in MVC Pattern

后端 未结 5 1440
挽巷
挽巷 2021-01-29 19:18

In an interview for some company, I was asked this question.

What design patterns do you know...then I was told to write simplest \"hello world\" application based on MV

5条回答
  •  不知归路
    2021-01-29 19:45

    var M = {}, V = {}, C = {};
    
    M.data = "hello world";
    
    V.render = function (M) { alert(M.data); }
    
    C.handleOnload = function () { V.render(M); }
    
    window.onload = C.handleOnLoad;
    

    Controller (C) listens on some kind of interaction/event stream. In this case it's the page's loading event.

    Model (M) is an abstraction of a data source.

    View (V) knows how to render data from the Model.

    The Controller tells to View to do something with something from the Model.

    In this example

    • the View knows nothing about the Model apart from it implements some interface
    • the Model knows nothing of the View and the Controller
    • the Controller knows about both the Model and the View and tells the View to go do something with the data from the Model.

    Note the above example is a severe simplification for demonstrating purposes. For real "hello world" examples in the JS MVC world go take a look at todoMVC

提交回复
热议问题