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-),男,湖南株洲人,助教,碩士研究生,主要研究方向:圖像處理與模式識別,軟件應用。

主站蜘蛛池模板: 伊在人亚洲香蕉精品播放| 美女被躁出白浆视频播放| 中文字幕亚洲综久久2021| 日韩黄色大片免费看| 国产爽歪歪免费视频在线观看 | 四虎在线观看视频高清无码| 中文天堂在线视频| 国产欧美日韩综合在线第一| 四虎永久免费地址| 亚洲欧洲国产成人综合不卡| 国产成人做受免费视频| 1024国产在线| 不卡视频国产| 国产男女免费视频| 欧美一区二区自偷自拍视频| 99精品久久精品| 亚洲啪啪网| 午夜高清国产拍精品| a级毛片免费在线观看| 无码人中文字幕| 国产精品久久久久久久久| 午夜激情婷婷| 麻豆精品在线| 亚洲av综合网| 黄色免费在线网址| 成人午夜免费观看| 日韩亚洲高清一区二区| 中文字幕 欧美日韩| 亚洲国产日韩一区| 99热这里只有精品在线观看| 亚洲人成网站色7799在线播放| 免费A级毛片无码免费视频| 欧美一级高清片久久99| 国产欧美精品一区aⅴ影院| 国内丰满少妇猛烈精品播| 国产拍揄自揄精品视频网站| 久久综合丝袜日本网| 精品国产免费观看| 国产理论一区| 找国产毛片看| 国产哺乳奶水91在线播放| 国产女人爽到高潮的免费视频| 丁香婷婷在线视频| 亚洲激情区| 亚洲bt欧美bt精品| 国产欧美精品午夜在线播放| 强乱中文字幕在线播放不卡| 中文字幕在线看| 中文字幕在线播放不卡| 伊人久久婷婷五月综合97色| 在线播放精品一区二区啪视频| 国产亚洲欧美另类一区二区| 老汉色老汉首页a亚洲| 思思热精品在线8| 久草中文网| 欧美日本在线| 欧美日韩国产精品va| 免费国产高清视频| 国产欧美在线| 国产99精品久久| 最近最新中文字幕在线第一页| 亚洲一区二区成人| 超碰aⅴ人人做人人爽欧美| 亚洲性日韩精品一区二区| 欧美日韩精品一区二区视频| 亚洲性日韩精品一区二区| 国产超薄肉色丝袜网站| 久久久久青草大香线综合精品| 国产成人AV大片大片在线播放 | 日韩精品一区二区三区免费| 精品国产成人a在线观看| 日韩麻豆小视频| 91探花在线观看国产最新| 欧美区一区| 蝴蝶伊人久久中文娱乐网| 国内精品视频区在线2021| 国产在线八区| 99九九成人免费视频精品| 亚洲第一香蕉视频| 午夜福利无码一区二区| 免费aa毛片| 日本成人精品视频|