|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
一个语句分成两个event(实际上不止,其他可以忽略),一个table_mapevent和一个Rows_log_event。Table_mapevent是一样的,主要看Rows_log_event。技能|计划
在企业使用开辟中常常会呈现多范例营业处置事情,一种好的计划办法会给使用和保护带来很年夜的收益,我们从一个复杂的案例入手下手提及。
一个图书发卖体系在客户付款结算处置:
客户分类:一般消耗者、一样平常会员、VIP会员、其他范例待定。
处置请求:一般消耗者不享用优惠
一样平常会员享用9.5折优惠
VIP会员享用8折优惠,外加累计积分
其他范例待定
上面就到详细完成了,在完成的时分我们年夜多半人城市想到给结算操纵编写一个办法(函数),在函数中我们会如许写:
Stringls_Customer_Type
Doubleld_Payment
//作废费者范例
ls_Customer_Type=..............
ifls_Customer_Type=Gthen//一般消耗者
//处置历程
elseifls_Customer=V//VIP消耗者
//处置历程
elseif
.....
endif
//其他处置
returnld_Payment
大概利用choosecase来取代ifelseif语句,布局会倾斜些。
如许的处置办法,关于调式、浏览、和今后新范例的增添都不小气便。假设每个范例的处置都有良多行代码(几十行到上百行),人人在浏览的时分对照舒服了,再增添一个新的范例就必要修正该办法,代码会更长,每一个处置利用的变量也很简单呈现交织,程序容错变得坚苦。
面临以上成绩,我的计划办法是为每品种型独自创立一个办法,都供应一个不异的接口,再者还必要一个办法来吸收哀求和前往了局。如许,不管在调试仍是运转的时分都很明晰,一个办法对应一个处置,增添新的范例的时分增添一个办法不需修正其他办法内容,程序浏览也绝对轻松良多。
详细计划完成:
创立结算处置工具:uo_Balance
balance的办法:of_GetPayment(as_Customer_Type)//内部会见处置
of_GetGeneralPayment()//一般客户结算处置
of_GetVIPPayment()//VIP会员结算处置
of_OtherPayment()//其他处置
of_GetPayment办法完成:
Doubleld_Payment
choosecaseas_Customer_Type
caseG//一般
ld_Payment=of_GetGeneralPayment()
caseV//vip
ld_Payment=of_GetVipPayment()
caseelse
ld_Payment=of_OtherPayment()
endchoose
returnld_Payment
of_GetGeneralPayment办法完成:
Doubleld_Payment
//结算处置
returnld_Payment
of_GetVIPPayment()of_OtherPayment()处置体例与of_GetGeneralPayment()分歧。
处置挪用:
uo_Balanceluo_Process
Stringls_Customer_Type
Doubleld_Payment
luo_Process=createuo_Balance
//作废费者范例
ls_Customer_Type=..............
ld_Payment=luo_Process.of_GetPayment()
//其他处置
到此计划完成。
以上是自己的团体履历总结,有不敷的地方请人人斧正。
恢复到之前的某个状态,是需要数据的。这数据可以是a)回滚步骤或者b)操作之前的数据状态原文。 |
|