梁小鷗
(廣東工程職業技術學院,廣州 510520)
思維導圖作為一種知識管理工具,將抽象的知識通過知識網絡圖的形式呈現出來,使各個知識之間的結構關系一目了然。思維導圖輔助系統是針對思維導圖繪制的過程,將其關鍵字的概念、拓展進行提示而開發的系統。本文就AJAX在開發思維導圖學習輔助系統中的應用進行闡述。
20世紀60年代英國著名心理學家托尼·巴贊創立了一種新的筆記方法:思維導圖,后來逐漸發展成為一種思維工具和學習方法。思維導圖通過繪圖的方式將思維過程可視化,以知識網絡的形式呈現出來,加深印象的同時又能全面掌握知識的整體架構。
AJAX(Asynchronous JavaScript and XML)即異步的JavaScript和XML,是使用JavaScript和XML實現異步數據傳輸的技術。AJAX并不是新的技術,而是CSS、XHTML、DOM、JavaScript、XMLHttpRequest等技術的組合。在無需重新加載整個網頁的情況下,通過AJAX異步調用的方式向服務器傳送數據,再從服務器取得數據,從而實現對網頁局部進行更新的功能。AJAX在減輕服務器負擔的同時,使客戶端無需等待服務器返回結果,便可繼續進行別的請求,節省了時間并提高了效率。
AJAX的工作原理是在客戶端和服務器之間加了—個中間層(AJAX引擎),使用戶操作與服務器響應異步化,如圖1所示。當用戶向服務器請求進行數據交互時,部分數據可以交給AJAX引擎來處理,只有必須從服務器讀取的新數據才由AJAX引擎代向服務器進行數據交互,服務器也只需返回這部分的處理結果。JavaScript中專門負責異步調用,與服務器通信的這部分程序,我們稱之為AJAX引擎。

圖1 AJAX工作原理圖
思維導圖輔助系統是對用戶輸入的某個知識點進行的知識拓展,從而輔助完成思維導圖的繪制。思維導圖知識點的拓撲圖繪制,分為知識點的向右拓展和向左拓展兩種方向。向右拓展是指:對當前知識點再次劃分延展所得知識點,即生成子節點,顯示在思維導圖中當前知識點的右側;向左拓展是指:對當前知識點總結歸納所得知識點,顯示在思維導圖中當前知識點的左側,即生成父節點。為了保證思維導圖的可讀性,每個知識點的父節點只能選一個。具體思維導圖輔助系統繪制效果如圖2所示。

圖2 思維導圖輔助系統繪制效果圖
思維導圖輔助系統采用了MVC架構,通過模型(model)、視圖(view)、控制器(controller)將業務邏輯、數據、界面顯示分離,其中視圖和控制器包含在業務應用層,模型包含在數據層。通過MVC模式使得控制器和視圖各自的功能劃分清晰,降低了模型、控制器、視圖之間的耦合度,提高了系統代碼的可重用性和開發效率。
思維導圖輔助系統重點在于知識點的拓撲圖繪制和知識點的拓撲提示兩個部分,所涉及的數據表主要是思維導圖結構表tb_mind和思維導圖數據表tb_data,其表結構分別如表1、表2所示。

表1 思維導圖繪制結構表tb_mind

表2 思維導圖基礎數據表tb_mind
在思維導圖繪制過程中,用戶可以選中某個知識點后對其進行向右或向左拓展,思維導圖輔助系統則會對當前知識點進行拓展提示。例如圖2中,用戶針對“網絡互連設備”知識點選擇向左拓展提示進行參考,系統則會在思維導圖基礎數據表(tb_data)中將該知識點的父節點名稱查詢出來,在頁面左下方為用戶進行提示,AJAX引擎在其中完成數據間的交互工作。主要代碼如下:


向左拓展提示中的某個選項被選中后,思維導圖繪制結構表(tb_mind)會馬上更新其相關信息,思維導圖輔助系統呈現的繪制內容也會隨之變更,主要代碼如下:


從思維導圖輔助系統的設計中可以看出,AJAX技術在繪制思維導圖過程中發揮了數據交互傳輸的優勢,在無需等待的情況下,采用異步方式進行數據傳輸,將知識點的拓展提示、概念解釋等信息即時展現給用戶,避免了傳統用表單form方法把整個頁面進行提交的過程,提升了用戶體驗,節省了網絡帶寬和網絡資源,使得思維導圖輔助系統更輕便、簡潔。