亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

MVC減少編程復雜性

2019-11-17 06:16:05
字體:
來源:轉載
供稿:網友
  隨著面向對象的語言(如java)的迅速發展和普及,越來越多的編程人員開始在應用開發中使用這些語言。然而原有的開發語言(即面向操作的開發語言如C++等)在短時間內還不可能退出歷史舞臺,因此現在就出現了面向對象的語言和傳統的面向操作的語言共存的局面。
在設計應用中同時使用兩類不同的語言(混合語言設計)比過去只使用一類語言會帶來許多新的問題,其中復雜性就是混合語言設計中最經常碰到的問題。下面我們探討混合語言設計中可能導致復雜性增加的地方,以及如何減少以至消除這些復雜性。

  復雜性

  復雜性是應用開發過程中最令人頭疼的一個問題。每當在一個應用中增加一個功能時,它的復雜性通常呈幾何級的增長。這種復雜性往往導致程序的開發無法再繼續下去。這也是現在為什么許多應用只有Beta版本而沒有正式版的原因。

  專家將應用開發過程產生的復雜性分為兩類,即非本質的(accidental)和本質的(essential)。本質的復雜性是對于解決目標問題所必然產生的復雜性,非本質的復雜性是由于選擇了不適當的開發工具和設計工具而產生的復雜性。對于一個功能確定的程序來講,本質的復雜性是確定的,而非本質的復雜性則是沒有限制的。因此,一個應用的開發要想較順利地取得成功,就需要盡可能地減少非本質的復雜性。

  OOD的特點

  面向對象的設計(OOD)將一個程序分解成根據具體的對象而設計的一系列元素。這些具體對象的行為和數據以一種叫做“類(class)”的編程單元進行打包。應用程序創建一個或多個這些類的例示,也稱為“對象(object)”。類的行為是通過創建對象之間的關系組合在一起的。

  OOD答應開發者用兩種主要的方法來控制復雜性的增加。第一,OOD定義嚴格的出口語義,這答應開發者隱藏實現的細節,并且明確說明什么方法是其它的對象可以訪問的。這個信息隱藏使得可以對大部分的代碼進行修改而不影響其它的對象。

  第二,OOD將對象之間的關系分為四類:繼續、包容、使用和協調。適當地使用這些關系可以大大減少應用開發過程中本質的和非本質的復雜性。如,繼續是產生面向對象設計中可再使用的主要因素。這個再使用性是通過代碼共享和多態性獲得的。這種再使用可以大大減少應用的本質的復雜性。包容答應一個類的用戶在使用包容器時忽略被包容的類(class)。這個簡化使設計者能夠大大減少應用的非本質的復雜性。

  可視化接口在OOD方面的不足

  許多程序都需要可視化接口,這些接口由對話框、選單、工具條等組成。這些可視化接口的增加會引進OOD設計的不足,使得一個好的面向對象的設計走向反面??梢暬涌谟腥齻€屬性可能會給應用開發帶來麻煩。

  第一,可視化接口提高了傳統的面向操作的拓撲結構。用戶產生接口事件,如開關按鍵和列表框選擇等,受到程序的一個模塊的驅動并且用來對靜態的數據進行操作。在設計中將這面向操作的拓撲結構同一個面向對象的設計混合在一起將導致對象之間的大量的雜合。

  第二,用戶接口通常對于同樣的信息經常會需要許多不同的顯示。如,一個客戶選擇列表框可以包含一個客戶的名字和電話號碼以及許多其它客戶的名字。

  當用戶選擇某個特定的客戶后,他/她的名字和電話號碼及其它全部相關的信息都會具體地顯示出來。

  除此之外,一個簡單的程序可能具有不同的用戶接口。如一個銀行賬戶系統有一個接口用于出納員來訪問賬戶平衡、存款和取款,而監督者的接口則包含另外的信息并加上賬號治理的功能。這些不同的接口很輕易導致類的擴展。

  最后,可視化接口在整個設計階段還會進行較大的改變。這些改變包括完全重新安排用戶與系統的交互操作等??梢暬涌诘倪@些改變即使在最好的設計中也會增加應用開發的復雜性。

  MVC彌補可視化接口/OOD的不足

  模型/界面/控制器(Model/View/Controller,MVC)編程技術答應一個開發者將一個可視化接口連接到一個面向對象的設計中,而同時還可以避免我們上面討論的幾個問題。MVC最初是為Smalltalk語言而設計的。MVC通過創建下面三個層將面向對象的設計與可視化接口分開:

  模型(Model):模型包含完成任務所需要的所有的行為和數據。模型一般由許多類組成并且使用面向對象的技術來創建滿足五個設計目標的程序。

  界面(View):一個界面就是一個程序的可視化元素,如對話框、選單、工具條等。界面顯示從模型中提供的數據,它并不控制數據或提供除顯示外的其它行為。一個單一的程序或模型一般有兩種界面行為。

  控制器(Controller):控制器將模型映射到界面中??刂破魈幚碛脩舻妮斎?,每個界面有一個控制器。它是一個接收用戶輸入、創建或修改適當的模型對象并且將修改在界面中體現出來的狀態機??刂破髟谛枰獣r還負責創建其它的界面和控制器。

  控制器一直決定哪些界面和模型組件應該在某個給定的時刻是活動的,它一直負責接收和處理用戶的輸入,來自用戶輸入的任何變化都被從控制器送到模型。

  界面從模型內的對象中顯示數據。這些對象的改變可以通過也可以不通過用戶的交互操作來完成。如:在一個Web瀏覽器中負責接收頁面的對象收集和裝配棧中的信息,必須有某種方式來讓這些對象通知界面數據已經被改變了。在模型變化時有兩種方法來對界面進行更新。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91嫩草在线视频| 成人激情电影一区二区| 68精品国产免费久久久久久婷婷| 日韩中文字幕网| 亚洲在线一区二区| 欧美一区二区三区图| 欧美性视频在线| 日韩欧美精品在线观看| 久久久久久国产免费| 亚洲成人精品在线| 欧美高清无遮挡| 日av在线播放中文不卡| 国产日韩欧美91| 最新69国产成人精品视频免费| 亚洲国产精品久久精品怡红院| 51视频国产精品一区二区| 久久久久九九九九| 日韩精品久久久久久福利| 精品爽片免费看久久| 国产亚洲人成a一在线v站| 69av在线视频| 综合欧美国产视频二区| 欧美日韩亚洲系列| 91香蕉嫩草神马影院在线观看| 69视频在线播放| yellow中文字幕久久| 精品中文视频在线| 欧美日韩成人在线播放| 亚洲日韩欧美视频| 日本19禁啪啪免费观看www| 国产精品欧美日韩久久| 国产91色在线免费| 亚洲精品影视在线观看| 久久精品99国产精品酒店日本| 欧美亚洲视频在线观看| 亚洲国模精品一区| 91精品国产综合久久香蕉的用户体验| 国产成人亚洲综合| 91网站免费观看| 日韩欧美在线视频日韩欧美在线视频| 精品久久久久久久中文字幕| 欧美亚洲激情在线| 插插插亚洲综合网| 国产精品国模在线| 性色av一区二区三区在线观看| 国产伦精品一区二区三区精品视频| 国产精品稀缺呦系列在线| 亚洲va欧美va国产综合久久| 久久夜色精品国产| 亚洲女人天堂视频| 久久久亚洲精品视频| 国产精品免费观看在线| 91精品国产高清久久久久久久久| 91国产一区在线| 奇米4444一区二区三区| 国产精品高潮呻吟久久av无限| 亚洲欧美另类国产| 国产成人精品亚洲精品| 狠狠久久亚洲欧美专区| 久久久伊人日本| 亚洲欧美激情在线视频| 欧美另类极品videosbestfree| 91高清在线免费观看| 国产精品影片在线观看| 55夜色66夜色国产精品视频| 日韩亚洲第一页| 欧美成人一区在线| 欧美性猛交xxxxx免费看| 欧美成人精品在线视频| 亚洲综合视频1区| 日韩经典中文字幕在线观看| 国产精品美女无圣光视频| 91在线免费网站| 黑人巨大精品欧美一区二区免费| 久久久99久久精品女同性| 91国产视频在线| 成人一区二区电影| 91精品视频大全| 在线一区二区日韩| 国产丝袜一区二区三区| 国产成人jvid在线播放| 国产视频精品久久久| 日韩高清人体午夜| 色噜噜久久综合伊人一本| 国产精品69精品一区二区三区| 成人免费网站在线观看| 国产精品99久久久久久久久久久久| 91精品久久久久久久久久久久久久| 国产香蕉97碰碰久久人人| 亚洲欧美日韩中文视频| 成人a在线视频| 国产精品中文字幕在线观看| 久久99国产精品自在自在app| 欧洲精品久久久| 伊人亚洲福利一区二区三区| 亚洲美女性视频| 91精品国产91久久久久久| 国产视频亚洲视频| 色综合久久88色综合天天看泰| 欧美在线亚洲一区| 亚洲人成网7777777国产| 久久精品视频免费播放| 97欧美精品一区二区三区| 亚洲最大的网站| 亚洲第一精品久久忘忧草社区| 欧美精品一区二区三区国产精品| 久久久99免费视频| 欧美亚洲激情在线| wwwwwwww亚洲| 亚洲午夜激情免费视频| 欧美一级成年大片在线观看| 精品国产福利视频| 亚洲美女福利视频网站| 欧美激情亚洲综合一区| 2020久久国产精品| 欧美xxxwww| 国产在线观看一区二区三区| 国产精品视频久久| 国产精品最新在线观看| 亚洲人成电影网站色…| 亚洲理论在线a中文字幕| 97在线免费观看视频| 国产国语刺激对白av不卡| 91久久夜色精品国产网站| 亚洲国内精品在线| 国产美女被下药99| 国产精品九九久久久久久久| 国产亚洲视频在线| 97在线免费观看视频| 国产精品亚洲综合天堂夜夜| 亚洲午夜女主播在线直播| 欧美视频在线看| 久久成人人人人精品欧| 欧美亚洲午夜视频在线观看| 亚洲欧美在线播放| 久热国产精品视频| 7m精品福利视频导航| 亚洲精品视频网上网址在线观看| 精品视频中文字幕| 操日韩av在线电影| 欧美午夜视频在线观看| 久久97久久97精品免视看| 91精品中文在线| 69av成年福利视频| 日韩av色在线| 国产精品久久一区| 亚洲乱码一区二区| 91欧美精品成人综合在线观看| 麻豆国产va免费精品高清在线| 欧美精品中文字幕一区| 亚洲毛茸茸少妇高潮呻吟| 亚洲第一av网| 国产视频亚洲精品| 精品性高朝久久久久久久| 国产综合久久久久久| 日韩精品在线免费播放| 欧美肥老太性生活视频| 91久久久久久久久| 97色在线视频| 国产精品免费一区| 国产日韩欧美在线视频观看| 奇米4444一区二区三区| 欧美黑人巨大精品一区二区| 北条麻妃一区二区三区中文字幕|