1. 程式人生 > >MVC框架實現1---Smart框架簡介

MVC框架實現1---Smart框架簡介

Smart我是寫的簡易MVC框架,其工作模式類似於struts1、struts2,之所以命名為Smart是因為我覺得MVC框架都應具有精巧、靈活的特性,而這個單詞恰能夠表達這個意思。

Smart框架的整體架構模仿了Struts1,但在Action元件的設計方面模仿了Struts2,。同Struts1一樣,Smart框架中也有ActionServlet控制器,Action元件,Forwarder元件,Convert元件,元件呼叫流程也是模仿的Struts1。Action元件被設計成多例模式,且與Smart框架解耦,開發者可選用繼承、實現介面、自定義三種方式定義Action元件。Convert元件在初始化方面模仿的Struts1,在配置方式方面模仿的Struts2。

Smart框架在配置檔案資料封裝方面是模仿的Spring,例如配置檔案中<Action />中的資料就會被Java類ActionDefine封裝,以此類推。

Samrt框架中的異常捕獲機制也是模仿spring,都會轉換成執行時異常,重新丟擲。

目前,Smart框架實現了MVC的主幹功能,與Struts1相比還沒有validate功能,與Struts2相比還沒有interceptor功能,後期會加上。Smart框架的使用方式,配置檔案配置方式幾乎跟Struts1一樣。

Smart框架的包結構和依賴的jar包如圖:


Action:包含一個Action介面和AbstractAction抽象類,開發者可以以繼承和實現介面兩種方式開發Action元件

common:包含一個SmartConstant類,其定義了Smart框架中用到的所有字面常量

config:包含了多個*Define.java檔案和ConfigResolver.java檔案 *Define.java封裝配置檔案資料,ConfigResolver.java負責解析配置檔案

exception:定義了框架中的所有異常型別

forwarder:定義了一個Forwarder介面和預設實現

mapping:定義了多個匹配類,負責查詢Action和ActionDefine等

servlet:ActionServlet是控制器類,子包helper中定義了RequestProcessor和其預設實現

util:定義了各種工具類。