乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      對MVC、MVP、MVVM的理解(一)

       Coder編程 2021-07-17

      一、MVC

      MVC模式再網(wǎng)上的爭議是最大的,一些博客中是這樣描述的

      MVC模式的通信是單向的,View觸發(fā)事件或數(shù)據(jù)的提交,到了Controller進行處理邏輯之后,返回Model給View,View再從Model中取出數(shù)據(jù),當(dāng)然View中也會有相應(yīng)的邏輯。個人認為這樣的描述算是比較正確,讓我們來看看ASP.NET Core MVC項目中是如何處理的,在默認模板中的錯誤界面是這樣的

      它的數(shù)據(jù)來自于Model,并且在Razor界面中做了部分的邏輯處理。那么Model是從哪里來的呢?

      在HomeController中有一個Error方法,它返回的便是一個View,這個View中帶著一個Model。由此看來在微軟定義的MVC中View確實是依賴于Model的

      那么就有人說,這個Model不是Controller返回的嗎,那View和Model并沒有直接通信呀,MVC就是為了View和Model分離開。

      1.當(dāng)然我不否認這種說法,但我更偏向于前者。可以看出來Controller返回的是整個Model,并不是將Model拆分開來依次解析后返回給View,所以我覺得既然Model的數(shù)據(jù)邏輯是在View界面自己處理的,那為什么非要不承認他們之間有直接的依賴關(guān)系呢?

      2.也可以理解一下第二種說法,第二種說法觀點在于V-C-M-C-V這種走向,這種說法表示View中的Model是由Controller返回的,那么View和Model之間并沒有直接聯(lián)系。我認為這樣的話MVC模式更偏向于MVP模式了,那么MVP唯一的進步就是,徹底簡化了View層,將View對Model的處理邏輯全部移動到Controller(Presenter),由Presenter給View中的控件賦值。如下圖:

      3.從整體一個項目來看,MVC模式更加偏向于一個后端或者是整個項目的分層結(jié)構(gòu),而MVP和MVVM則是借鑒了MVC的分層,將前端的部分進行分層。
      模式架構(gòu)是用來設(shè)計代碼的,duck不必糾結(jié)于某兩者之間具體的關(guān)系,如果能夠使你的代碼層次更加分明,清晰明了,那不就夠了?如果都按照前人定好的模式去做又何來創(chuàng)新呢?

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多