麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發(fā)設計 > 正文

MVC設計模式在通用報表系統(tǒng)中的應用

2019-11-18 12:44:37
字體:
來源:轉載
供稿:網友

1 引言

  傳統(tǒng)報表系統(tǒng),通常是針對某個商業(yè)領域使用,其使用的報表格式往往在設計時由設計人員已經定做成模版的形式存儲在模版庫中,用戶使用時直接從模版庫讀取,處理方式也僅限于該領域內;雖然在一定程度上該解決方法帶來了一定治理上的便宜,可對于現(xiàn)代企業(yè)用戶來說,報表格式單一已經局限了報表只能作為記賬簿來使用,使得報表的可塑性差,后期維護艱難,難以適應生產過程的多樣性和變化性,無法滿足大型企業(yè)不斷擴充的適應性、智能型的要求,非凡是當業(yè)務領域變化時,原有的報表系統(tǒng)往往很難支持新業(yè)務數(shù)據(jù)的治理分析,要進行大量的重新開發(fā)工作。

  在本通用報表的設計中,將報表框架與報表數(shù)據(jù)分離開,用戶即能根據(jù)自己的需要隨意繪制表格,又能按照業(yè)務要求自主的選擇數(shù)據(jù)來源。一旦框架和數(shù)據(jù)來源定義完畢,系統(tǒng)可以自動生成所需要的報表。為了經濟的達到方便使用的目的,必須吸收先進的軟件開發(fā)思想,采用優(yōu)秀的軟件開發(fā)方法以提高軟件質量和軟件的重用性,其中提高軟件的重用性是減少開發(fā)成本的要害。

  本文主要介紹MVC設計模式在通用報表系統(tǒng)開發(fā)中的應用,給出了具體問題相應的解決辦法,提高了軟件的通用性和擴展性。

2 設計模式

  設計模式是設計面向對象軟件的過程中記錄的知識和經驗,用一系列類結構和對象來具體描述其含義。設計模式的目的就是復用這些面向對象設計的解決方案,根據(jù)具體應用完成具體的設計以及便于這些抽象解決方案的積累和交流。與不使用設計模式的軟件系統(tǒng)相比,一個大量使用設計模式的軟件系統(tǒng)的對象建模更加合理,對象間的耦合度更小,效率、可靠性、可升級性、并發(fā)性、平行性和分布性更高,更能獲得高層次的設計復用和代碼復用。

  設計模式概念最先來自于城市建筑專家對建筑模式的定義“每一個模式描述了在人們四周不斷反復發(fā)生的問題,以及該問題的解決方案的核心。這樣,你就能一次又一次的使用該方案而不必做重復勞動”。這種建筑上的模式思想在面向對象的設計模式中同樣適用,模式的核心就在于提供了相關問題的解決方案。設計模式確定了所包含的類和實例,它們的角色、協(xié)作方式以及職責分配。它通過刻畫部件靜態(tài)和動態(tài)結構及其之間的合作關系,成功地應用于解決商業(yè)數(shù)據(jù)處理、電子通信、圖形用戶界面、數(shù)據(jù)庫、分布式通信軟件等軟件構造中的問題。

  一般而言,設計模式有4個要素:①模式名稱:用來描述問題、解決方案和效果。②問題:描述可以在什么時候使用設計模式。③解決方案:描述了設計模式的組成部分,它們之間的相互關系及各自的職責和協(xié)作方式。④效果:描述了模式應用的效果及使用模式應該權衡的問題。一個設計模式命名抽象確定了一個通用設計結構的主要方面,這些設計結構能用來構造可重用的面向對象設計。

  我們在報表系統(tǒng)中主要使用了模型-視圖-控制器設計模式(MVC)、觀察者(Observer)、適配器模式(Adapter)以及橋接(Bridge)這幾種設計模式。


 

3 設計模式的應用

3.1 模型-視圖-控制器(MVC)

  報表系統(tǒng)中為了方便用戶對數(shù)據(jù)的分析和使用,同一業(yè)務數(shù)據(jù)經常需要多種視圖呈現(xiàn),即一個表格對象和一個柱狀圖對象可使用不同的表示形式描述同一個應用數(shù)據(jù)對象的消息。表格對象和柱狀對象并不知道對方的存在,這樣使用戶可以根據(jù)需要單獨復用表格或柱狀圖;當用戶改變比表格中的信息時,柱狀圖能立即反映這一變化,這一行為意味著表格和柱狀圖都依靠于數(shù)據(jù)對象。早期的圖形化程序設計經常圍繞著事件驅動的用戶界面來組織,這樣的直接后果就是數(shù)據(jù)處理、程序功能與顯示代碼完全糾結在一起。大型的圖形化程序中一個數(shù)據(jù)通常對應多種表示與處理方式,把特定界面綁定到應用程序上嚴重降低了程序的靈活性,使得一個很小的改動也牽扯到大量的代碼,增加了程序開發(fā)與維護的工作量。20世紀70年代,MVC模式在small talk 80的GUI設計中被提出,并且描述了不同部分的對象之間的通信方式,使它們不必卷入彼此的數(shù)據(jù)模型開發(fā)方法中,使程序結構變得清楚而靈活。

  MVC模式包括三個部分:模型(Model)、視圖(View)和控制器(Controller),分別對應于內部數(shù)據(jù)、數(shù)據(jù)表示和輸入輸出控制部分。模型是與問題相關數(shù)據(jù)的邏輯抽象,代表對象的內在屬性,是整個模型的核心。它采用面向對象的方法,將問題領域中的對象抽象為應用程序對象,在這些抽象的對象中封裝了對象的屬性和這些對象所隱含的邏輯。視圖是模型的外在表現(xiàn),一個模型可以對應一個或者多個視圖,如圖形用戶界面視圖、命令行視圖、API視圖;或按使用者分類:新用戶視圖、熟練用戶視圖等。視圖具有與外界交互的功能,是應用系統(tǒng)與外界的接口:一方面它為外界提供輸入手段,并觸發(fā)應用邏輯運行;另一方面,它又將邏輯運行的結果以某種形式顯示給外界。控制器是模型與視圖的聯(lián)系紐帶,控制器提取通過視圖傳輸進來的外部信息,并將用戶與View的交互轉換為基于應用程序行為的標準業(yè)務事件,再將標準業(yè)務事件解析為Model應執(zhí)行的動作(包括激活業(yè)務邏輯或改變Model的狀態(tài))。同時,模型的更新與修改也將通過控制器來通知視圖,從而保持各個視圖與模型的一致性。

  實現(xiàn)MVC模式時面對的主要問題是Model和View的關系,在設計模式中的Observer模式很好的描述了如何建立這種關系。這一模式中要害的對象是目標(subject)和觀察者(observer)。一個目標可以有多個依靠它的觀察者;一旦目標發(fā)生變化,所有依靠它的觀察者都得到通知,并做出響應,即每個觀察者都將查詢目標進行更新,以保證和目標的狀態(tài)同步。這種模式答應我們獨立的改變目標和觀察者;用戶可以單獨復用目標對象而無需同時復用其觀察者,反之亦然。這種模式可以在不改動目標和其他觀察者的前提下增加觀察者。

  在報表系統(tǒng)中,目標即為業(yè)務數(shù)據(jù),觀察者定義為在用戶界面上的顯示視圖。顯示視圖是由其相關的業(yè)務數(shù)據(jù)決定,當業(yè)務數(shù)據(jù)發(fā)生變化時,視圖也將發(fā)生變化。同一業(yè)務數(shù)據(jù)會有多種顯示視圖;相同類型的視圖也可以表達不同的業(yè)務數(shù)據(jù)。而且可以根據(jù)需要在任意時刻增加和刪除顯示視圖,大大提高了報表系統(tǒng)的通用性。



發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: sesee99| 色的综合 | 一本一道久久久a久久久精品91 | 7777视频 | 特级黄色小说 | v天堂在线视频 | 久久人人做 | 91久久久国产精品 | 久久久久国产成人免费精品免费 | 国产亚洲精品久久久久久久 | 久久精品国产99国产精品澳门 | 日韩精品中文字幕在线观看 | 日日摸夜夜骑 | 成人啪啪18免费网站 | 深夜福利久久久 | 中文字幕涩涩久久乱小说 | 免费毛片观看 | 亚洲看片网| 日韩在线欧美在线 | 国产亚洲精品综合一区91 | 国产精品成人一区二区三区吃奶 | 国产亚洲综合一区二区 | 黄色午夜剧场 | 国产无区一区二区三麻豆 | h视频在线免费观看 | av黄色片网站 | 中国洗澡偷拍在线播放 | 成人福利视频在 | 一本到免费视频 | 成人三级视频网站 | 久久久久成人免费 | 美女视频网站黄色 | 国产精品视频一区二区三区四 | 亚洲成人黄色片 | 7777网站| 亚州综合一区 | 欧美成人精品一区二区男人小说 | 欧美一区二区三区免费不卡 | 中文字幕一二区 | 色播久久 | 欧美福利视频一区二区 |