在寫一個程式之前,需要在大腦中對整個系統有一個初步的規劃,對於系統的功能模組,通常來說需要劃分成三大塊:框架部分、核心業務部分、擴充套件業務部分。

框架部分,通常是用來放通用的工具類方法,還有通用的處理資料、業務的方法,這些方法一般與系統的業務無關。電子商城的後臺系統,通常都會有許可權管理模組,但許可權管理模組,與商城的業務沒有關係,所以許可權管理就要放到框架中。而且,不單是電子商城,其它系統的後臺,也可能會有許可權管理的功能,那麼這個許可權管理的模組,就要寫得具有通用性,能夠適用其它系統。當然,還有為完成這個系統而開發的很多工具類方法,也要放到框架中。所謂的框架,就不是專門為某一個系統而寫,而應該要具有通用性,放在別的系統,也一樣能用。

核心業務部分,就是整個系統,必須要具備的業務模組,是整個系統的核心所在。電子商城的功能是賣商品的,那麼核心業務模組,就要包括:賣什麼(商品模組)、賣給誰(會員模組)、流水記錄(訂單模組)。

擴充套件業務部分,細分的話,還可以分為基本擴充套件業務模組和普通擴充套件業務模組。基本擴充套件業務,就是別人在使用這個系統的時候,通常都會使用的功能,比如促銷模組,這些模組通常是和核心業務模組一起,系統建好後,就已經載入到專案中了。而普通業務模組,那麼就是有一部分人用,有一部分人不需要的業務模組,這類模組,預設情況下,是不載入到系統中的,使用者可以根據自己的需要,有選擇性的載入到系統中,比如團購模組。

在說到程式的可擴充套件性時,很多人都會認為,可以為程式新增功能,就是具有可擴充套件性。這並不全面,我們講可擴充套件性,通常是指,在不動程式的原始碼的情況下,可以為程式新增功能,才稱為具有可擴充套件性。如果通過改變程式的原始碼去為程式新增功能,那哪個程式不可以新增功能?拿windows的計算器程式,改原始碼,改成一個PS都可以,可這就不是擴充套件了。

現在框架部分有許可權管理功能,核心業務有三個模組,這些功能開發完以後,就不需要再動,原始碼就是凍結狀態。擴充套件業務模組,一個模組就是一個jar包,把jar包放到專案中,專案就有了jar包的功能,把jar包從專案中移除,那麼專案就回到沒引入jar包之前的狀態,這才是理想的設計模式。

簡單介紹一下後面要寫的系統:

1. 後臺沒有使用任何框架,因為我還沒有學習java的框架,所以沒有使用框架,前端的話,會使用jquery。

2. 系統採用前後端分離的方式實現。

3. 整個web系統,只有一個html。這個設定是我在學習PHP的時候,受PHP中include和require指令的啟發想出來的,只不過,在這裡是使用java,及前後端分離的技術實現。優點:因為全部採用區域性重新整理的機制,所以能夠減少前後端資料的傳輸量,提高響應速度。缺點:因為只有一個html,所以瀏覽器沒有前進後退的操作,當然要做前進後退,也可以做,需要用H5中的相關API,既然要用H5的API,就肯定存在相容的問題,所以就直接不做。那麼在整個系統的流程設計上,要儘量做到簡化,選單深度、使用者操作流程,都需要做到非常精簡,再有一些頁面提供返回按鈕