在介面框架中,使用mvc
的設計模式是最合適方式。為什麼這樣說呢?因為m是
model
的縮寫,就是表示模型意思。模型就是演算法,業務邏輯,商業表示。這個是經常會變的,比如像銀行開發乙個超市積分系統,對不同來店刷卡的人員給不同的積分,這個是隨著不同的時間會變化,像中秋節時購買月餅就可以多增加積分,這個變化就表現在模型上。v就是
view
的縮寫,也就是檢視,對使用者來說就是介面。介面在一定時間內是穩定的,但隨著使用者需求變化就會產生更多的介面。比如使用者一開始可以看到資料列表顯示就已經很滿足了,當他們用過一段時間之後,就會想能否提供乙個圖形來描述資料呢?這就是提出對介面的要求,也就是多檢視。也就是說,乙份資料之後對應多個檢視,多個檢視從不同的角度去了解資料。有了模型,還有了檢視,就已經可以實現資料經過業務邏輯處理之後在檢視上顯示出來,基本上就是完成了整個軟體的需求。但是使用者對軟體的要求,不但能看到,還需要互動。比如看到曲線時,想放大一點看到細節,那麼就需要控制了。控制部分就抽象為
controller
,縮寫就為
c。到此,
mvc三者的職責就非常清楚,
m描述資料邏輯處理,
v表示處理之後的資料顯示,
c接收使用者控制,並且把不同的控制傳遞給m或
v。它們之中,最特別的就是m與
v是沒有直接的聯絡,業務邏輯處理不會在意介面是怎麼樣的呈現的,它只是實現最優化演算法,或者最複雜的業務邏輯;反之,介面也不需要關心資料是怎麼樣處理的,只管根據使用者需要而顯示,同時多個檢視都**於同乙份資料,因此也保證多個檢視的顯示是一致的。
有了上面的概念之後,就要實踐了,只有實踐才可以對理論進行理解,並且理解得更深入。特別在軟體開發工作上,沒有編寫**,只看理論,就像站在岸上學游泳,永遠學不會游泳的。因為人在水裡與岸感覺差別很大,水的密度比空的密度不是乙個數量級大,而差別特別大。因此,憑空想像是不會得到實際的感受。在程式設計方面,也是一樣,如果不親手寫**,是很難體會到想像與實現之間的差距。往往有人說,像這個功能不就幾行**,花兩三天就可以做出產品了嗎。其實他所說的產品只是乙個針對目前情況實現的演示產品,而不是實際可用、可維護、可復用、可測試的產品。乙個軟體產品在他們眼裡只是著重點是可用性,而不考慮可維護、可復用、可測試。可維護是乙個重要的指標,如果不能維護,乙個軟體產品很難成功,因為乙個軟體產品使用週期是很長的,10
年是算短的,在這
10年內,不同使用者加進來,以及競爭對手的出現,對軟體產品進行公升級就是成為常有的事情。怎麼樣讓軟體產品更新更快,還能對舊使用者進行相容,還不讓越改就越多
bug出現,這是乙個有難度的事情。如果**不考慮可維護性,就更加成為不可能完成的任務。可復用性就是節省軟體的開發成本,這個比較關鍵,因為軟體的開發效率就決定產品的定價。也就是決定了招標時,你的產品是否被中標的關鍵因素,一般在**方面都起到
50%以上作用。可測試就是軟體的質量了,以及軟體是否可維護的一項指標。因為乙個軟體產品開發持續達到
10年,每乙個月更新了,還要相容舊的產品、舊的使用者,那麼怎麼樣保證相容舊的產品呢?只能針對舊的產品進行回歸測試,這個回歸測試,如果是人工的,顯然不全面,也不著實際。因此,自動化的測試是必然的選擇,也只有自動化測試才可以更全面地測試,確保產品方方面面都已經符合原來的規則。並且自動化測試比人工來說,也更有效率,足以降低成本。
MVC設計模式
mvc本來是存在於desktop程式中的,m是指資料模型,v是指使用者介面,c則是控制器。使用mvc的目的是將m和v的實現 分離,從而使同乙個程式可以使用不同的表現形式。比如一批統計資料你可以分別用柱狀圖 餅圖來表示。c存在的目的則是確保m和v的同步,一旦m改變,v應該同步更新。模型 檢視 控制器 ...
MVC設計模式
準確的說,mvc不是一種設計模式,而是更高的構架模式。它是model view controller的縮寫,最早是由xerox 施樂 提出的。隨後,它成為了一種著名的使用者介面設計架構。在mvc經典架構中,它把應用程式 也可以看做是應用程式的乙個模組 分 三個部分 1.模型 模型代表了該應用程式的核...
MVC設計模式
mvc設計模式是非常經典的設計模式,是非常有效率的一種設計模式,比如struts框架就是乙個典型的mvc的框架,下面就介紹一下這種設計模式 mvc英文即model view controller,即把乙個應用的輸入 處理 輸出流程按照model view controller的方式進行分離,這樣乙個...