引 言
電子商務行業的蓬勃興起,有效地推動了我國的經濟發展.電子商務可以分為企業\\(Business\\)對終端客戶\\(Customer\\)的電子商務\\(B2C\\)和企業\\(Business\\)對企業\\(Business\\)的電子商務\\(B2B\\)兩種模式.其中,B2C是電子商務的典型模式,是企業通過 Internet 開展的在線銷售活動,它直接面向消費者銷售產品和服務.
消費者通過網絡在網上選購商品和服務、發表相關評論及電子支付等.本文旨在設計一個基于 ELS 架構的 B2C 網上商城,對消費者能夠輕松實現購物需求,對于企業可降低運營成本,提高對購物信息和商品信息管理的處理能力.
1 系統設計
B2C 網上商城通常包括用戶購物和信息管理兩大功能.用戶購物主要是前臺商品展示和用戶購物的行為活動,而后臺則是管理員維護商品信息、會員信息及系統設置等功能.該系統由游客、會員和管理員 3 類用戶組成.該系統的主要功能描述如下:
商品展示:游客和會員可以通過商品展示列表了解商品基本信息,可以通過商品詳細頁面獲知商品的詳細情況,可以根據商品名稱、商品類別、商品編號、價格、銷售量等條件進行商品的查詢.
用戶管理:在系統中,游客只能瀏覽商品信息,不能進行購買活動.游客可以通過注冊成為系統的會員.會員成功登錄系統后,可以進行商品購買活動,也可以查看和維護個人信息,購物結束后可以注銷賬號.
商品購買:會員在瀏覽商品的過程中,可以將商品添加到自己的購物車中,會員在確認購買商品前,可對購物車中的商品進行修改和刪除,確認購買后,系統將生成訂單,會員可以查看自己的訂單信息,可以對購買的商品進行評價.
留言板:用戶可以通過留言板對商城服務情況和熱點信息進行交流和討論.
2 ELS 架構
本系統所采用的 ELS 架構基于分層設計,包括表示層、業務邏輯層、數據訪問層、模型層.表示層是系統的 UI 部分,負責用戶與整個系統的交互,采用JQuery 下的封裝框架 EasyUI.業務邏輯層封裝業務處理邏輯,一部分位于后臺 ASHX 文件中用于處理數據格式轉換,另一部分位于實現具體業務邏輯的類中.數據訪問層主要負責數據庫的訪問,采用 LINQ-toSQL 技術封裝對數據庫的添加、刪除、修改、查詢操作.模型層采用 LINQtoSQL 提供的輕量級對象關系映射框架,將關系數據庫映射為對象,其整體系統架構如圖 1 所示.
3 系統實現
3.1 模型層
系統中所涉及的可以抽象出來的實體模型有會員\\(Users\\)、商品類別\\(GoodsType\\)、商品\\(Goods\\)、商品評價\\(GoodEvaluate\\)、購物車\\(SCar\\)、購物車信息\\(SCarInfo\\)、留言\\(BBSNote\\)、留言回復\\(BBSAnswer\\)、管理員\\(Admins\\).然后通過 LINQtoSQL ORM 方式實現關系到對象的映射\\(即創建實體類\\),利用 Data-Content\\( 數據上下文\\) 作為數據模型和對象之間的橋梁,映射數據庫中表的字段,把查詢語法轉化為 SQL語句.
3.2 數據訪問層
數據訪問層主要采用 LINQtoSQL 技術.LINQ-toSQL 進行數據庫的 CRUD\\(Create、Research、Update、Delete\\) 操作主要通過泛型類 List
public static List
{
SMDataContext dc = new SMDataContext \\(DB-
Helper.Connection\\);
var q = from g in dc.LqGoodsType
select g;
return q.ToList
}
3.3 業務邏輯層
業務邏輯層是數據訪問層與表示層之間的橋梁,為客戶端提供了靜態的方法來實現具體的操作代碼,并轉換成表示層所需要的數據格式,主要代碼如下.
// 調用數據訪問層的方法獲取商品類別所有數據
public static List
return GoodsTypeDAL.GetGoodsType\\(\\);
}
// 定義表示層所需要的數據格式
public string GetListString\\(List
{
int i = 0;
string json = "{\\"rows\\":[";
foreach \\(var o in ogt\\) {
if \\(i++ > 0\\) {
json += ",";
}
string node = "{\\"tID\\":" + o.tID + ",\\"tName\\":
\\"" + o.tName + "\\",\\"tImg\\":\\"" + o.tImg + "\\"}";
json += node;
}
json += "]}";
return json;
}
3.4 表示層
表示層負責數據的展示和與用戶的交互,系統為了降低界面和顯示邏輯的耦合度,不再采用 ASP.
NET 服務器端控件,而是通過 EasyUI 框架提供的各種組件來完成系統界面.通過 Ajax 技術與服務器進行數據交換.以下代碼使用 EasyUI 的 DataGrid 來實現商品類別的展示.
類別編 號 | 類別 名稱 | 類別圖片 |
---|
4 結束語
借助 EasyUI 框架、LINQtoSQL 技術等,設計了一個基于 ELS 架構的網上商城系統,該架構使系統開發層次清晰,可擴展性強,具有良好的用戶交互體驗,較好地滿足用戶需求,可以為類似應用的設計與開發提供借鑒.
參考文獻:
[1] 蔣孝明.基于 LINQ 的人事檔案管理系統的設計與實現[J].計算機與現代化,2014\\(3\\):22-25.
[2] 丁士鋒,朱 毅, 楊明羽,等.C# 3.0 與.NET 3.5 高級編程[M]. 北京: 清華大學出版社,2009:55-60.
[3] 王振杰. 基于 LINQ 的 BS 開發架構的設計與應用 [D].濟南:山東大學,2011.
[4] 張 林,肖 毅.基于 jQuery 的在線電子名片制作系統設計與實現 [J].電腦開發與應用,2013\\(6\\):10-13.
[5] 陳 焜.基于 LINQ 與 Ajax 技術的辦公自動化系統[J].電腦知識與技術,2013\\(7\\):22-24.