国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

多類型業(yè)務(wù)處理設(shè)計技巧

2024-07-21 02:08:30
字體:
供稿:網(wǎng)友
,歡迎訪問網(wǎng)頁設(shè)計愛好者web開發(fā)。
在企業(yè)應(yīng)用開發(fā)中經(jīng)常會出現(xiàn)多類型業(yè)務(wù)處理工作,一種好的設(shè)計方法會給應(yīng)用和維護帶來很大的收益,我們從一個簡單的案例開始說起。

一個圖書銷售系統(tǒng)在客戶付款結(jié)算處理:

客戶分類:普通消費者、一般會員、vip會員、其他類型待定。

處理要求:普通消費者不享受優(yōu)惠

                  一般會員享受9.5折優(yōu)惠

                  vip會員享受8折優(yōu)惠,外加累計積分

                  其他類型待定

下面就到具體實現(xiàn)了,在實現(xiàn)的時候我們大多數(shù)人都會想到給結(jié)算操作編寫一個方法(函數(shù)),在函數(shù)中我們會這樣寫:

string ls_customer_type

double ld_payment

//取消費者類型

ls_customer_type  = ..............

if  ls_customer_type = 'g' then //普通消費者

    //處理過程

elseif  ls_customer='v'//vip消費者

      //處理過程

elseif

.....

end if

//其他處理

return ld_payment

或者使用choose case來代替if  elseif語句,結(jié)構(gòu)會傾斜些。

       這樣的處理方法,對于調(diào)式、閱讀、和以后新類型的增加都不大方便。假如每一個類型的處理都有很多行代碼(幾十行到上百行),大家在閱讀的時候比較難受了,再增加一個新的類型就需要修改該方法,代碼會更長,每個處理使用的變量也很容易出現(xiàn)交叉,程序容錯變得困難。

       面對以上問題,我的設(shè)計方法是為每種類型單獨創(chuàng)建一個方法,都提供一個相同的接口,再者還需要一個方法來接收請求和返回結(jié)果。這樣,無論在調(diào)試還是運行的時候都很清晰,一個方法對應(yīng)一個處理,增加新的類型的時候增加一個方法不需修改其他方法內(nèi)容,程序閱讀也相對輕松很多。

具體設(shè)計實現(xiàn):

創(chuàng)建結(jié)算處理對象:uo_balance

balance的方法:of_getpayment(as_customer_type)               //外部訪問處理

                         of_getgeneralpayment()    //普通客戶結(jié)算處理

                         of_getvippayment()         //vip會員結(jié)算處理

                         of_otherpayment()           //其他處理

of_getpayment 方法實現(xiàn):

double ld_payment

choose case as_customer_type

         case 'g'                 //普通

                ld_payment = of_getgeneralpayment()

         case 'v'                 //vip

                ld_payment = of_getvippayment()

         case else

                ld_payment = of_otherpayment()

end choose

return ld_payment

of_getgeneralpayment 方法實現(xiàn):

double ld_payment

//結(jié)算處理

return ld_payment

of_getvippayment() of_otherpayment() 處理方式與of_getgeneralpayment()一致。

處理調(diào)用:

uo_balance luo_process

string ls_customer_type

double ld_payment

luo_process = create uo_balance

//取消費者類型

ls_customer_type  = ..............

ld_payment = luo_process.of_getpayment()

//其他處理

到此設(shè)計完成。

以上是本人的個人經(jīng)驗總結(jié),有不足之處請大家指正。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 古浪县| 仲巴县| 嫩江县| 正阳县| 察隅县| 芷江| 本溪| 浦东新区| 海兴县| 南和县| 墨江| 福鼎市| 固原市| 青阳县| 桑日县| 西贡区| 日照市| 巴中市| 龙陵县| 肃南| 会宁县| 白城市| 阿巴嘎旗| 陈巴尔虎旗| 慈溪市| 呼玛县| 临夏县| 思茅市| 保德县| 西和县| 土默特右旗| 淅川县| 偏关县| 讷河市| 天等县| 临夏市| 珠海市| 洛浦县| 上蔡县| 义乌市| 丁青县|