999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

繼續教育平臺的設計與實現

2008-01-01 00:00:00曾慶斌陳華政
電腦知識與技術 2008年5期

摘要:根據應用系統業務需求如何選擇一個易于維護,可復用性較好的平臺架構是應用系統的關鍵。本文就中小學教師繼續教育平臺中采用的系統架構,從設計模式的選擇到系統的設計與實現來討論這方面的問題。

關鍵詞:設計模式;抽象工廠;裝飾器

中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)05-00ppp-0c

1 引言

中小學教師繼續教育是我們國家提高教師教學水平,拓寬教師知識面,迅速適應新課程內容,全面貫徹素質教育的關鍵環節。利用基于Internet的中小學教師繼續教育平臺,是打破傳統的教師繼續教育方法,提高中小學教師繼續教育的效率,提升教育質量的關鍵步驟。

本文就建設中小學教師繼續教育平臺所采用的系統技術架構,從設計模式的選擇到系統的設計與實現等方面來討論,力求根據應用系統業務需求構建一個易于維護,可復用性較好的繼續教育平臺。

2 平臺分析

中小學教師繼續教育平臺是教師通過網絡進行交流互動的功能系統,允許教師動態地創建新的課程、編輯課程的內容、設置各種過濾信息以及管理注冊用戶等。如圖1所示,通過該平臺,學員(參加中小學繼續教育的人員)和教師可以對課程進行交互,通過新章節功能發布新的章節,通過問題和答疑功能學員和教師進行相互交流。

圖1 中小學教師繼續教育平臺功能結構圖

在中小學教師繼續教育平臺中業務對象主要分為課程、章和節,它們之間的關系如圖2所示。

圖2 中小學教師繼續教育平臺的業務對象

每個課程包含若干章,而每一章由若干節組成的,這是一個聚集關系。這3種對象保存在數據庫中,每一個對象都涉及到對象數據的創建、編輯、查詢和刪除。這3個對象對于不同的角色可操作訪問權限是不一樣的,只有系統管理員和課程管理員可以對課程相關數據實行操作,普通用戶閱讀課程內容和提出問題。

在中小學教師繼續教育平臺中,用戶角色和權限是緊密聯系在一起的。為了實現不同用戶對不同業務對象的不同操作權限,通過設定一個統一的入口,在這個入口將檢查客戶端每次對數據的操作權限,如圖3所示。

圖3 中小學教師繼續教育平臺的權限管理

客戶端每次對數據庫的操作,都要經過課程創建器入口進入。在課程創建器中會動態生成一個訪問控制權限檢查器,通過權限檢查器檢查客戶端訪問方法是否符合整體權限訪問控制要求。

3 系統的架構設計與實現

中小學教師繼續教育平臺的設計目標是建設一個開放結構的,易于擴展的基于B/S架構的功能系統,主要體現在以下三個方面:

(1)可擴展性:新的性能可以很容易地加入到系統中去。

(2)靈活性:可以允許代碼修改平穩地發生,而不會涉及到很多其他的模塊。

(3)可插入性:可以很容易地將某個類抽出去,同時將另一個有同樣接口的類加入進來。

本平臺為了達到設計目標,使用若干設計模式巧妙地實現了一系列功能。因為設計模式的通用性和可理解性,從而可以依據一種“協定”來動態地擴展它[1]。

3.1 課程生成器的設計與實現

課程的存儲形式既可以是數據庫方式也可以是XML方式。為了實現設計目標,在設計課程生成器時,因為只有一個入口進入平臺,因此,我們必須有一個屏蔽數據存儲方式的抽象課程生成器,而不是每一個具體的存儲方式都有一個具體的課程生成器。課程生成器的設計如圖4所示。

圖4 課程生成器的設計

XML課程生成器和數據庫課程生成器作為抽象課程生成器的兩個具體實現,分別生成以XML方式和數據庫方式存儲的課程,而課程、章和節分別作為3個系列抽象接口,依靠不同的課程生成器實現方式,會產生不同的存儲類型課程。如果以后課程以文件方式存儲,只要添加一個文件類型的課程生成器和相應的類型的課程,平臺其他部分就不需要修改。具體實現如下:

public abstract class ClassFactory

{

private static Object initLock = new Object();

private static String className = \" com.jxjy.class.database.DbClassFactory\";

private static ClassFactory factory = 1;

public static ClassFactory getInstance(Authorization authorization)

{

if (authorization == 1)

{return 1; }

if (factory == 1) {

synchronized(initLock)

{if (factory == 1)

{... //從配置文件中獲得當前className

try

{//動態裝載類

Class c = Class.forName(className);

factory = (ClassFactory)c.newInstance();}

catch (Exception e)

{return 1; }

}}}

//返回權限檢查器用來限制授權對課程的訪問

return new ClassFactoryProxy(authorization, factory,factory.getPermissions(authorization));

}

//創鍵課程接口Class的具體對象實例

public abstract Class createClass(String name, String description)

throws UnauthorizedException, ClassAlreadyExistsException;

//創鍵章接口Chapter的具體對象實例

public abstract ChapterThread createChapterThread(SectionMessage rootMessage)

throws UnauthorizedException;

//創鍵節接口Section的具體對象實例

public abstract SectionMessage createSectionMessage();

}

3.2 權限檢查器的設計與實現

從上面的代碼中我們發現,在ClassFactory的getInstance方法中最后的返回值似乎有些奇怪。它返回了ForumFactoryProxy的一個實例,為什么要這樣實現呢。就是為了訪問權限的控制,實現一個權限檢查器。

在中小學教師繼續教育平臺中,因為有角色與權限的控制,對于課程、章和節的訪問操作必須經過權限機制驗證后才能進行。

以ClassFactoryProxy中的createClass方法為例,其實ClassFactoryProxy也是ClassFactory的一種抽象課程生成實現,它的createCLass具體實現如下:

public Class createClass(String name, String description)

throws UnauthorizedException, ClassAlreadyExistsException

{if (permissions.get(ClassPermissions.SYSTEM_ADMIN))

{Class newClass = factory.createClass(name, description);

return new ClassProxy(newClass, authorization, permissions);

}

else

{ throw new UnauthorizedException();}}

在這個方法中進行了權限驗證,判斷是否屬于系統管理員。如果是,將直接從DbClassFactory對象factory的方法createClass中獲得一個新的課程對象,然后再返回課程的子類代理對象ClassProxy。因為在課程中也還有很多屬性和操作方法,這些也需要進行權限驗證。

3.3 批量分頁查詢器設計

用戶查詢大量數據,從數據庫不應該直接返回ResultSet,應該是Collection。但是有一個問題,如果這個數據很大,需要分頁顯示。如果一下子將所有頁面要顯示的數據都查詢出來放在Collection,必然會影響性能。而批量分頁查詢器則不必將集合全部都展現出來,只有遍歷到某個元素時才會查詢數據庫獲得這個元素的數據。設計如圖5所示。

圖5 批量分頁查詢器設計

3.4 資料裝飾器的設計

中小學教師繼續教育平臺實現了信息裝飾功能。例如可以將普通的文字信息內容通過裝飾變成HTML語句輸出顯示;也可以將普通文字信息通過裝飾以動畫的方式顯示等。設計實現如圖6所示。

圖6 資料裝飾器的設計

4 結論

本文針對中小學教師繼續教育平臺的靈活,變化大的特點,主要分析介紹了在實際開發中從設計模式出發所采用的技術架構。通過設計模式的采用使得我們的中小學教師繼續教育平臺實現了平臺最初的設計目標,同時大大提高了系統的可維護性和可復用性。

參考文獻:

[1]徐言聲,譯.設計模式解析(第2版).北京:人民郵電出版社,2006.

收稿日期:2007-12-16

作者簡介:曾慶斌(1963-),男,廣東云浮人,高級工程師,主要研究方向:軟件技術開發,多媒體技術;陳華政(1981-),男,湖南株洲人,助教,碩士研究生,主要研究方向:圖像處理與模式識別,軟件應用。

主站蜘蛛池模板: 国产精品美女自慰喷水| 精品国产香蕉伊思人在线| 91娇喘视频| 亚洲区一区| 97国产在线视频| 国产精品va免费视频| 亚洲国产精品日韩欧美一区| 国产欧美专区在线观看| 国产美女在线免费观看| 国产99免费视频| 99精品视频在线观看免费播放| 欧美成人一级| 91av国产在线| 亚洲人成网址| 免费在线播放毛片| 日韩在线网址| 国产人人射| 国产精品极品美女自在线| 国产特一级毛片| 黄色成年视频| 手机永久AV在线播放| 国产成人永久免费视频| 热久久综合这里只有精品电影| 首页亚洲国产丝袜长腿综合| 免费AV在线播放观看18禁强制| 国产丰满成熟女性性满足视频| 免费人成网站在线高清| 亚洲狠狠婷婷综合久久久久| 91外围女在线观看| 高清无码不卡视频| 91久久国产热精品免费| 九九热精品视频在线| 国产成人资源| 美女一级免费毛片| 黄色一级视频欧美| 91精品国产福利| 亚洲国产成人麻豆精品| 亚洲丝袜第一页| 中国毛片网| 永久在线精品免费视频观看| 国产精品无码制服丝袜| 欧美精品成人| 国产免费网址| 秋霞国产在线| 色香蕉影院| 亚洲欧美综合精品久久成人网| 亚洲一区第一页| 成人在线观看不卡| 亚洲黄网在线| 国产色伊人| 免费女人18毛片a级毛片视频| 日韩精品成人网页视频在线| 亚洲热线99精品视频| 国产乱子精品一区二区在线观看| 久久毛片免费基地| 亚洲欧美另类中文字幕| 91黄色在线观看| 亚洲第一黄片大全| 亚洲天堂.com| 亚洲福利片无码最新在线播放| 亚洲成人精品久久| 91久久偷偷做嫩草影院免费看| 欧美三级视频网站| 国产a v无码专区亚洲av| 午夜福利免费视频| 国产无码性爱一区二区三区| 成人毛片免费观看| 免费人成又黄又爽的视频网站| 无码aaa视频| 亚洲日本中文字幕乱码中文| 天堂亚洲网| 久久国产高潮流白浆免费观看| 国产精品无码一区二区桃花视频| 天天色天天操综合网| 制服丝袜在线视频香蕉| 日本伊人色综合网| 亚洲欧美日韩另类在线一| 日韩欧美中文字幕在线韩免费 | 国产成人精品男人的天堂下载| 国产久操视频| 国产精品三级专区| 日韩av资源在线|