第十七篇的Trigger用法為通過(guò)Handler方式實(shí)現(xiàn)Trigger的封裝,此種好處是一個(gè)Handler對(duì)應(yīng)一個(gè)sObject,使本該在Trigger中寫(xiě)的代碼分到Handler中,代碼更加清晰。
十七篇鏈接:salesforce 零基礎(chǔ)學(xué)習(xí)(十七)Trigger用法
有的時(shí)候?qū)τ趕Object的trigger處理復(fù)雜的情況下,比如一個(gè)sObject的before update要實(shí)現(xiàn)功能1,2.....n功能情況下,Handler中需要在before update寫(xiě)實(shí)現(xiàn)功能1--n的代碼。然而有些時(shí)候,我們?cè)趫?zhí)行update情況下只需要讓他觸發(fā)功能i的功能代碼,使用上述Handler方法也可以搞定,只不過(guò)處理起來(lái)比較尷尬,此篇針對(duì)trigger中對(duì)于不同業(yè)務(wù)分成模塊進(jìn)行處理。
一.Triggers基類(lèi)
Triggers基類(lèi)主要有以下內(nèi)容:
1.枚舉:封裝的枚舉包含了Trigger中的所有情況;
2.Handler接口:此接口中聲明了一個(gè)方法handle,所有實(shí)現(xiàn)此接口的類(lèi)都需要重寫(xiě)次方法;
3.bind方法,用于綁定事件以及實(shí)現(xiàn)Handler接口的類(lèi),即綁定的事件會(huì)使用實(shí)現(xiàn)Handler接口的類(lèi)進(jìn)行業(yè)務(wù)邏輯處理;
4.execute方法,用于執(zhí)行triggers中綁定的Handler。
代碼如下:
二.相關(guān)的實(shí)現(xiàn)Handler接口的類(lèi)