亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于MVC分層的業(yè)務處理方法、裝置和系統(tǒng)與流程

文檔序號:12493436閱讀:557來源:國知局
基于MVC分層的業(yè)務處理方法、裝置和系統(tǒng)與流程

本發(fā)明涉及通信領域,特別涉及一種基于MVC分層的業(yè)務處理方法、裝置和系統(tǒng)。



背景技術(shù):

隨著Internet技術(shù)的不斷完善,當前信息化系統(tǒng)建設的趨勢,是采用B/S(Browser/Server,瀏覽器/服務器模式)結(jié)構(gòu)代替C/S(Client/Servers,客戶端/服務器)結(jié)構(gòu)?;贐/S結(jié)構(gòu)的項目,相對傳統(tǒng)的C/S結(jié)構(gòu),由于業(yè)務邏輯集中在服務器端,簡化了客戶端的負荷,但加重了服務器端的負荷,使得基于B/S結(jié)構(gòu)的項目在系統(tǒng)架構(gòu)方面需要有更清晰的層次結(jié)構(gòu),從而涌現(xiàn)出大量的MCV框架。

MVC是一種目前廣泛流行的軟件設計模式。近年來,隨著J2EE的成熟,MVC得到了廣泛使用,并成為J2EE平臺上推薦的一種設計模式。如圖1所示,MVC(Model/View/Controller,模型/視圖/控制器)模式正是將系統(tǒng)劃分為模型層、視圖層、控制層,因此,MVC模式適應了日益復雜的Web應用系統(tǒng)的設計需求。現(xiàn)有的MVC框架業(yè)務流程如圖2所示。

但是,在采用MVC模式構(gòu)建的Web應用系統(tǒng)的體系結(jié)構(gòu)中,如何解決在Web應用系統(tǒng)開發(fā)過程中由于系統(tǒng)結(jié)構(gòu)的復雜程度較高而帶來的業(yè)務代碼間的耦合度較高、代碼的易維護性較差,提高應用框架的可重用性、組件的可重用性等問題,是目前要急需解決的。



技術(shù)實現(xiàn)要素:

本發(fā)明實施例提供一種基于MVC分層的業(yè)務處理方法、裝置和系統(tǒng),通過在MVC分層中進一步增加業(yè)務分層,從而使得傳統(tǒng)MVC分層在架構(gòu)上更加清晰,增加了系統(tǒng)的靈活性,有效實現(xiàn)業(yè)務代碼分離,以解除對象之間的耦合。

根據(jù)本發(fā)明的一個方面,提供一種基于MVC分層的業(yè)務處理方法,包括:

在接收到業(yè)務調(diào)用方發(fā)送的調(diào)用請求后,調(diào)用相應的函數(shù)進行處理,以得到業(yè)務處理結(jié)果;

將所述業(yè)務處理結(jié)果返回給所述業(yè)務調(diào)用方。

在一個實施例中,所述業(yè)務調(diào)用方為控制器模塊或數(shù)據(jù)訪問對象DAO模塊。

在一個實施例中,調(diào)用相應的函數(shù)進行處理以得到業(yè)務處理結(jié)果還包括:

調(diào)用DAO模塊進行相應的數(shù)據(jù)業(yè)務處理。

在一個實施例中,所述調(diào)用請求還包括指定數(shù)據(jù)類型信息,以便返回的所述業(yè)務處理結(jié)果與所述指定數(shù)據(jù)類型信息相匹配。

根據(jù)本發(fā)明的另一方面,提供一種基于MVC分層的業(yè)務處理模塊,包括接收單元、業(yè)務處理單元和發(fā)送單元,其中:

接收單元,用于接收業(yè)務調(diào)用方發(fā)送的調(diào)用請求;

業(yè)務處理單元,用于在接收單元接收到業(yè)務調(diào)用方發(fā)送的調(diào)用請求后,調(diào)用相應的函數(shù)進行處理,以得到業(yè)務處理結(jié)果;

發(fā)送單元,用于將所述業(yè)務處理結(jié)果返回給所述業(yè)務調(diào)用方。

在一個實施例中,所述業(yè)務調(diào)用方為控制器模塊或數(shù)據(jù)訪問對象DAO模塊。

在一個實施例中,業(yè)務處理模塊還包括業(yè)務調(diào)用單元,其中:

業(yè)務調(diào)用單元,用于調(diào)用DAO模塊進行相應的數(shù)據(jù)業(yè)務處理。

在一個實施例中,所述調(diào)用請求還包括指定數(shù)據(jù)類型信息,以便返回的所述業(yè)務處理結(jié)果與所述指定數(shù)據(jù)類型信息相匹配。

根據(jù)本發(fā)明的另一方面,提供一種基于MVC分層的業(yè)務處理系統(tǒng),包括上述任一實施例涉及的業(yè)務處理模塊,以及

業(yè)務調(diào)用方,用于向所述業(yè)務處理模塊發(fā)送調(diào)用請求,還用于接收所述業(yè)務處理模塊返回的業(yè)務處理結(jié)果。

在一個實施例中,所述業(yè)務調(diào)用方為控制器模塊或數(shù)據(jù)訪問對象DAO模塊。

在一個實施例中,控制器模塊還用于在接收到所述業(yè)務處理模塊返回的業(yè)務處理結(jié)果后,將所述業(yè)務處理結(jié)果提供給視圖層模塊以呈現(xiàn)給用戶。

通過以下參照附圖對本發(fā)明的示例性實施例的詳細描述,本發(fā)明的其它特征及其優(yōu)點將會變得清楚。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為MVC框架體系結(jié)構(gòu)示意圖。

圖2為現(xiàn)有技術(shù)中MVC框架業(yè)務流程示意圖。

圖3為本發(fā)明基于MVC分層的業(yè)務處理方法一個實施例的示意圖。

圖4為本發(fā)明基于MVC分層的業(yè)務處理模塊一個實施例的示意圖。

圖5為本發(fā)明基于MVC分層的業(yè)務處理模塊另一實施例的示意圖。

圖6為本發(fā)明基于MVC分層的業(yè)務處理系統(tǒng)一個實施例的示意圖。

圖7為本發(fā)明MVC框架業(yè)務流程示意圖。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。以下對至少一個示例性實施例的描述實際上僅僅是說明性的,決不作為對本發(fā)明及其應用或使用的任何限制?;诒景l(fā)明中的實施例,本領域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

除非另外具體說明,否則在這些實施例中闡述的部件和步驟的相對布置、數(shù)字表達式和數(shù)值不限制本發(fā)明的范圍。

同時,應當明白,為了便于描述,附圖中所示出的各個部分的尺寸并不是按照實際的比例關(guān)系繪制的。

對于相關(guān)領域普通技術(shù)人員已知的技術(shù)、方法和設備可能不作詳細討論,但在適當情況下,所述技術(shù)、方法和設備應當被視為授權(quán)說明書的一部分。

在這里示出和討論的所有示例中,任何具體值應被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實施例的其它示例可以具有不同的值。

應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步討論。

圖3為本發(fā)明基于MVC分層的業(yè)務處理方法一個實施例的示意圖。可選地,本實施例的方法步驟可由業(yè)務處理模塊執(zhí)行,其中:

步驟301,在接收到業(yè)務調(diào)用方發(fā)送的調(diào)用請求后,調(diào)用相應的函數(shù)進行處理,以得到業(yè)務處理結(jié)果。

步驟302,將所述業(yè)務處理結(jié)果返回給業(yè)務調(diào)用方。

可選地,業(yè)務調(diào)用方可為控制器模塊或數(shù)據(jù)訪問對象DAO模塊。

例如,在控制器模塊中充斥著大量的業(yè)務代碼,其中會多次調(diào)用函數(shù)F,為了能夠?qū)崿F(xiàn)分離業(yè)務代碼,解除對象間的耦合,將函數(shù)F封裝到業(yè)務處理模塊中,從而當控制器模塊調(diào)用函數(shù)F時,通過與業(yè)務處理模塊的交互,從而獲得函數(shù)F的運算結(jié)果,由此可使業(yè)務邏輯更加清晰。

相應地,在數(shù)據(jù)訪問對象DAO模塊中的業(yè)務代碼也需要調(diào)用函數(shù)F時,也通過與業(yè)務處理模塊的交互,從而獲得函數(shù)F的運算結(jié)果。

基于本發(fā)明上述實施例提供的基于MVC分層的業(yè)務處理方法,通過在MVC分層中進一步增加業(yè)務分層,從而使得傳統(tǒng)MVC分層在架構(gòu)上更加清晰,增加了系統(tǒng)的靈活性,有效實現(xiàn)業(yè)務代碼分離,以解除對象之間的耦合。

可選地,在上述實施例中,調(diào)用相應的函數(shù)進行處理以得到業(yè)務處理結(jié)果的步驟還可包括:

調(diào)用DAO模塊進行相應的數(shù)據(jù)業(yè)務處理。

也就是說,若業(yè)務處理模塊根據(jù)接收到的業(yè)務請求,還需要調(diào)用DAO模塊進行相應的業(yè)務處理,則調(diào)用DAO模塊進行相應的數(shù)據(jù)業(yè)務處理、持久化操作、實現(xiàn)數(shù)據(jù)的增刪改查以及封裝數(shù)據(jù)庫映射成相應的模型model對象等。

可選定,在上述實施例中,調(diào)用請求還包括指定數(shù)據(jù)類型信息,以便返回的所述業(yè)務處理結(jié)果與指定數(shù)據(jù)類型信息相匹配。

例如,控制器模塊需要業(yè)務處理模塊返回的是字符串類型的結(jié)果,則業(yè)務處理模塊會直接為控制器模塊提供字符串類型的業(yè)務處理結(jié)果,從而無需控制器模塊對接收到的結(jié)果進行轉(zhuǎn)換。通過這種泛型接口設計,可有效提高系統(tǒng)的處理效率。

圖4為本發(fā)明基于MVC分層的業(yè)務處理模塊一個實施例的示意圖。如圖4所示,該業(yè)務處理模塊可包括接收單元401、業(yè)務處理單元402和發(fā)送單元403。其中:

接收單元401用于接收業(yè)務調(diào)用方發(fā)送的調(diào)用請求。

業(yè)務處理單元402用于在接收單元401接收到業(yè)務調(diào)用方發(fā)送的調(diào)用請求后,調(diào)用相應的函數(shù)進行處理,以得到業(yè)務處理結(jié)果。

發(fā)送單元403用于將業(yè)務處理結(jié)果返回給業(yè)務調(diào)用方。

可選地,上述業(yè)務調(diào)用方可為控制器模塊或數(shù)據(jù)訪問對象DAO模塊。

此外,上述調(diào)用請求還包括指定數(shù)據(jù)類型信息,以便返回的業(yè)務處理結(jié)果與指定數(shù)據(jù)類型信息相匹配。

基于本發(fā)明上述實施例提供的基于MVC分層的業(yè)務處理裝置,通過在MVC分層中進一步增加業(yè)務分層,從而使得傳統(tǒng)MVC分層在架構(gòu)上更加清晰,增加了系統(tǒng)的靈活性,有效實現(xiàn)業(yè)務代碼分離,以解除對象之間的耦合。

圖5為本發(fā)明基于MVC分層的業(yè)務處理模塊另一實施例的示意圖。與圖4所示實施例相比,除接收單元501、業(yè)務處理單元502和發(fā)送單元503之外,還進一步包括業(yè)務調(diào)用單元504,其中:

業(yè)務調(diào)用單元504用于調(diào)用DAO模塊進行相應的數(shù)據(jù)業(yè)務處理。

圖6為本發(fā)明基于MVC分層的業(yè)務處理系統(tǒng)一個實施例的示意圖。如圖6所示,該系統(tǒng)可包括業(yè)務調(diào)用方601和業(yè)務處理模塊602,其中業(yè)務處理模塊602可為圖4或圖5中任一實施例涉及的業(yè)務處理模塊。

業(yè)務調(diào)用方601用于向業(yè)務處理模塊602發(fā)送調(diào)用請求,還用于接收業(yè)務處理模塊602返回的業(yè)務處理結(jié)果。

可選地,業(yè)務調(diào)用方601可為控制器模塊或數(shù)據(jù)訪問對象DAO模塊。

此外,在業(yè)務調(diào)用方601為控制器模塊的情況下,控制器模塊還用于在接收到業(yè)務處理模塊返回的業(yè)務處理結(jié)果后,將業(yè)務處理結(jié)果提供給視圖層模塊以呈現(xiàn)給用戶。

圖7為本發(fā)明MVC框架業(yè)務流程示意圖。與圖2所示的現(xiàn)有技術(shù)相比,在控制器模塊和DAO模塊之間設置業(yè)務處理模塊,從而有效實現(xiàn)業(yè)務代碼分離,以解除對象之間的耦合。下面對其中的一種具體實現(xiàn)進行說明。

模型(Model):模型作為應用程序的主體部分,它既能表示業(yè)務數(shù)據(jù)又表示業(yè)務邏輯。一個模型能為多個視圖提供數(shù)據(jù),同時由于同一個模型可以被多個視圖重用,所以提高了應用的可重復性。

視圖(View):視圖即用戶看到并與之交互的界面。它既能向用戶顯示一個或多個模型數(shù)據(jù),同時也能接收用戶的輸入數(shù)據(jù),但它并不進行任何實際的業(yè)務處理,不會改變模型狀態(tài)。視圖可以向模型查詢業(yè)務狀態(tài),視圖還能接受模型發(fā)出的數(shù)據(jù)更新事件,從而對用戶界面進行同步更新。

控制器(Controller):一般來說控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。一方面它解釋來自于視圖的輸入,將其解釋成為系統(tǒng)能夠理解的對象;另一方面,它處理來自于模型的事件和模型邏輯執(zhí)行的結(jié)果,調(diào)用適當?shù)囊晥D為用戶提供反饋。

業(yè)務處理模塊(Service):業(yè)務處理模塊(即業(yè)務層)的加入使得分層架構(gòu)上更加清晰,增加了系統(tǒng)的靈活性。業(yè)務層的應用有三種策略:一:偏向于Controller層;二:偏向于Model層;三:前兩者的結(jié)合。本發(fā)明的一個實施例采用第三種策略,但也可適用其它策略。通過編寫泛型接口BaseService<T,K>(T與Model層對象對應,K為Model層對應數(shù)據(jù)庫主鍵在Model中的類型),定義了Model層的基本實現(xiàn),應且在Service中需要包含大部門的業(yè)務邏輯。

例如,在一個具體實現(xiàn)中,前端控制器FrontController進行匹配請求的攔截。創(chuàng)建控制器父類BaseController,聲明實例變量HttpServletRequest、HttpServletResponse、HttpSession,通過J2EE注解@Resource自動裝配Bean對象,獲取request、respons及session對象,Controller層繼承BaseController。

部分業(yè)務層不僅需要包含大部分業(yè)務邏輯,同時要提供基礎性的數(shù)據(jù)服務,該service則需繼承父接口BaseService<T,K>,以實現(xiàn)對Model層數(shù)據(jù)的基本封裝處理,部分業(yè)務層僅需包含業(yè)務邏輯則不需要繼承父接口BaseService<T,K>,而對基礎性數(shù)據(jù)的服務可以通過調(diào)用其他繼承了BaseService<T,K>的Service層。

控制層調(diào)用業(yè)務層service,對請求數(shù)據(jù)進行處理或(及)調(diào)用DAO層對數(shù)據(jù)進行封裝再處理,進一步將數(shù)據(jù)傳遞給視圖層View,經(jīng)渲染呈現(xiàn)給前端用戶展示。

service層基本接口,T與Model層對象對應,K為Model層對應數(shù)據(jù)庫主鍵在Model中的類型:

DAO層進行數(shù)據(jù)業(yè)務處理、持久化操作,實現(xiàn)數(shù)據(jù)的增刪改查以及封裝數(shù)據(jù)庫映射成相應的model對象。

model層對應數(shù)據(jù)庫,DAO層封裝數(shù)據(jù)庫數(shù)據(jù)到對應model對象,簡化了service層對數(shù)據(jù)的處理,Controller獲取處理后的model層數(shù)據(jù),返回給視圖層,視圖層渲染相應數(shù)據(jù)呈現(xiàn)到前端用戶,以便用戶的實時交互。

通過實施本發(fā)明,可以得到以下有益效果:

1)分離業(yè)務代碼,解除對象之間的耦合。

2)封裝了通用BaseService<T,K>泛型接口,明確了Service智能。

3)降低了系統(tǒng)耦合性,增加了系統(tǒng)可擴展性。

4)便于系統(tǒng)維護。

基于本發(fā)明所具有的上述優(yōu)勢,可將其應用到基于MVC分層的Web項目開發(fā)、基于泛型接口的應用開發(fā)等場景中。

本領域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。

本發(fā)明的描述是為了示例和描述起見而給出的,而并不是無遺漏的或者將本發(fā)明限于所公開的形式。很多修改和變化對于本領域的普通技術(shù)人員而言是顯然的。選擇和描述實施例是為了更好說明本發(fā)明的原理和實際應用,并且使本領域的普通技術(shù)人員能夠理解本發(fā)明從而設計適于特定用途的帶有各種修改的各種實施例。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1