MVC框架在Unity項目中的理解
        日期:2023年10月07日     新聞分類: 技術中心      瀏覽:462次
        內容導讀:MVC框架在Unity項目中的理解

        MVC是模型(Model)-視圖(View)-控制器(Controller)的縮寫,是一種比較常見的設計框架,是一種將代碼的功能進行劃分的一種設計框架,一種軟件設計典范,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業務邏輯。MVC被獨特的發展起來用于映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中。組成MVC的三個模式分別是組合模式、策咯模式、觀察者模式,MVC在軟件開發中發揮的威力,最終離不開這三個模式的默契配合。 那些崇尚設計模式無用論的程序員,請了解只要你們使用MVC,就離不開設計模式。

        組合模式只在視圖層活動, 視圖層的實現用的就是組合模式,當然,這里指的實現是底層的實現,是由編程框架廠商做的事情,用不著普通程序員插手。


        組合模式的類層次結構是樹狀的, 而我們做Web時視圖層是html頁面,html的結構不正是樹狀的嗎,這其實就是一個組合模式的應用,只是瀏覽器廠商已經把界面相關的工作幫我們做掉了,但它確確實實是我們應用MVC的其中一部分,只是我們感覺不到罷了,這也是我們覺得View是實現起來最簡單最沒有歧義的一層的原因。


        除網頁以外的其他用戶界面程序,如WPF、Android、ASP.NET等等都是使用樹狀結構來組織界面控件對象的,因為組合模式就是從界面設計的通用解決方案總提煉出來的。所以與其說MVC選擇了組合模式,還不如說組合模式是必定會存在MVC中的,因為只要涉及到用戶界面,組合模式就必定存。事實上即使不理解組合模式,也不影響程序員正確的使用MVC,組合模式本就存在于程序員接觸不到的位置。


        然而,觀察者模式和策略模式就顯得比較重要,是實實在在MVC中接觸的到的部分。


        觀察者模式有兩部分組成,被觀察的對象和觀察者,觀察者也被稱為監聽者。對應到MVC中,Model是被觀察的對象,View是觀察者,Model層一旦發生變化,View層即被通知更新。View層和Model層互相之間是持有引用的。 我們在開發Web MVC程序時,因為視圖層的html和Model層的業務邏輯之間隔了一個http,所以不能顯示的進行關聯,但是他們觀察者和收聽者的關系卻沒有改變。當View通過http提交數據給服務器,服務器上的Model接受到數據執行某些操作,再通過http響應將結果回送給View,View(瀏覽器)接受到數據更新界面,這不正是一個接受到通知并執行更新的行為嗎,是觀察者模式的另一種表現形式。


        但是,脫離Web,當通過代碼去純粹的表示一個MVC結構的時候,View和Model間無疑是觀察者和被觀察的關系,是以觀察者模式為理論基礎的。即使在Web中因為http壁壘的原因導致真正的實現有點走樣,但是原理核心和思路哲學卻是不變的。


        最后是策略模式。策略模式是View和Controller之間的關系,Controller是View的一個策略,Controller對于View是可替換的, View和Controller的關系是一對多,在實際的開發場景中,也經常會碰到一個View被多個Controller引用,這即使策咯模式的一種體現,只是不那么直觀而已。


        總結一下,關于MVC各層之間關系所對應的設計模式


        View層,單獨實現了組合模式


        Model層和View層,實現了觀察者模式


        View層和Controller層,實現了策咯模式


        MVC就是將這三個設計模式在一起使用,組合出的一套設計框架。

        參考自https://blog.csdn.net/leehuimr/article/details/116298737 【Unity3D】MVC框架在Unity項目中的理解與使用

        版權所有: 山西科達自控股份有限公司 備案號:晉ICP備09004627號-2   

        郵箱

        keda@sxkeda.com

        電話

        400-0351-150

        微信

        專屬
        客服

        留言

        右側導航

        久久中文字幕网,狠狠色伊人久久精品综合网,大伊香蕉精品二区视频在线,久久综合中文字幕一区二区