欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

把業務邏輯變成數據結構和SQL語句的例子。自然

系統 1815 0

?

??? 更正:和大家交流了一下,發現現在就叫做架構有一點大,還是叫做框架更準確一些,就叫做 自然框架 吧。

??? 目前自然框架的內容包括三個部分:使用自定義控件快速實現增刪改查和導出Excel、通用權限、個性化設置。

?

??? 上一篇里? 球球 ?同學詢問“ 不太明白需求是怎么轉化為數據庫的。比如一個最簡單的會員例子,累計1萬消費以上是一級會員,5000消費以上是2級會員,買商品屬于1級會員的8折,屬于2級會員的9折,這個業務邏輯要怎么轉化成數據庫?” 那我就以這個作為例子說一下吧。

?

???? 根據這個需求我們可以得到以下幾個已知條件
1、有會員信息——會員表。
2、會員要有等級,建立一個會員等級表。
3、會員的等級是依據累計消費金額而定。5000元以上是二級會員,10000元以上是一級會員。
4、有產品信息——產品表。
5、會員購買產品可以享受折扣,折扣根據會員的級別而定。

?

??? 問題
1、會員級別的確定?
2、如何獲得會員購買商品的折扣?

我們可以在數據庫里面建立四個表:【會員表】、【會員等級表】、【產品表】、【會員享受的折扣表】。
【示意圖】。

?

?

?

(這里的商品表怎么還有商品等級ID呢?折扣表里面也有?這個后面的需求擴展里面的,本來要做兩套圖的,俺就偷懶了)

?

??? 回答
1、會員級別是依據會員的消費累計金額來確定的,那么當前的會員消費金額就是已知條件,我們可以把它作為函數的參數,于是我們可以寫一個函數:

?

private ? int ?SetMemberLevelID( int ?memberID, int ?money)
????????{
????????????DataAccessLayer?dal?
= ? new ??DataAccessLayer();
????????????
????????????
// 依據累計的消費金額,確定會員的等級
????????????sql? = ? " SELECT?TOP?1?會員級別ID?FROM?Demo_會員級別表?WHERE?(消費金額?<? " + ?money? + " ) " ;
????????????
string ?會員級別ID? = ?dal.RunSqlGetID(sql);

????????????
// 修改會員的等級
????????????sql? = ? " update?Demo_會員表?set?會員級別ID?=? " ? + ?會員級別ID? + ? " ?where?memberID=? " ? + ?memberID.ToString();
????????????dal.RunSql(sql);

????????????
????????}

?

?

??? 當然我們也可以把第一個SQL語句作為一個子查詢,加在第二個SQL語句里面。
??? 或者如果我們可以知道會員原先的級別的話,我們可以先做一下比較,會員級別變化的時候在修改會員的等級。

?

2、這個就簡單了,會員享受的折扣是和等級相關的,我們有了會員享受的折扣表,寫一條SQL語句就出來了。

?

sql? = ? " select?折扣?from?Demo_會員級別折扣表?where?會員級別ID?=?1 " ;

?

?

??? 不知道這個是不是求求想要的。

?

??? 功能擴展

???? 這個會員折扣的例子,讓我想起來了去年看的一篇帖子,和這個很像,區別在于商品也是分等級的,不同的會員等級對應不同的產品等級可以享受不同的折扣,比如會員有三個等級——一級、二級、三級,產品有兩個等級——優等、一般。
那么就會出現一個笛卡爾乘積的形式:


一級會員購買優等商品享受九折,
一級會員購買一般商品享受八折,
二級會員購買優等商品享受九五折,
二級會員購買一般商品享受八五折,
三級會員購買優等商品享受九九折,
三級會員購買一般商品享受九折。

?

??? 以前的那個帖子的要求就是如何依據會員的等級和商品的等級來判斷享受的折扣。

??? 我們看看如何來解決這個問題。我們的商品表里面加上商品等級字段,在【會員享受的折扣表】里面也加上一個商品等級ID字段。剩下的就不用說了吧,只需要稍稍改一下那個SQL語句就可以了。

?

sql? = ? " select?折扣?from?Demo_會員級別折扣表?where?會員級別ID?=?1?and?商品級別ID?=?1 " ;

?

??? 如果您也看多那篇帖子的話,您會發現那篇帖子用了好長的代碼才解決,當然人家是用了OO的方法,好像解決的還挺巧妙地,我的OO水平還不夠,沒有看懂。

?

FAQ

1、為什么要建立【會員等級表】、【商品等級表】?
???? 因為建立表以后,就可以做一個維護程序讓客戶自己維護這兩個級別。

2、為什么要建立【會員享受的折扣表】?
??? 理由同上,我們也可以做一個維護程序,這樣享受什么樣的折扣,客戶就可以隨時修改了。

?

ps: 博客園北京俱樂部第三次技術活動(2009/05/23) ?

?

把業務邏輯變成數據結構和SQL語句的例子。自然架構改成自然框架


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 青青草娱乐在线 | 日本黄色免费看 | 欧美a∨ | 色爱综合区五月小说 | 亚洲一区二区免费看 | 日韩欧美精品一区 | 亚洲免费福利 | 91成人影院未满十八勿入 | 超级在线牛碰碰视频 | 波多野结衣中文字幕2022免费 | 狠狠操天天操 | 中文成人在线 | 日本欧美久久久久免费播放网 | 久草在线观看首页 | 亚洲综合在线视频 | 亚洲色图150p | 亚洲精品久久久久久久久久久久久 | 91国在线观看 | 精品天堂| 欧美精品区 | 亚洲国产咪爱网 | 国外成人免费视频 | 精品国产一区二区三区久久 | 欧美精品一区二区三区免费播放 | 国产精品国产精品 | 欧美久在线观看在线观看 | 喷水网站 | 欧美成人精品一区二区男人看 | 精品粉嫩aⅴ一区二区三区四区 | 亚洲人成网站999久久久综合 | 伊人青青操 | 综合久久久久 | 国产成人一级片 | 日韩午夜在线视频 | 成人精品一区久久久久 | 亚洲第一成网站 | 久久99国产综合精品 | 五月天天| 精品视频免费观看 | 潘金莲强完整版 | 蜜臀AV国产精品久久久久 |