開発者は、Expense _c オブジェクトで次のトリガーを識別します。

トリガーは、それぞれ削除前、挿入前、更新イベントの前に処理されます。
トリガーのベスト プラクティスに従うために、開発者が実装する必要がある 2 つの手法はどれですか。
2つの回答を選択してください
正解:A,C
A . Unify all three triggers in a single trigger on the Expense__c object that includes all events:
Salesforce best practices recommend having only one trigger per object to avoid redundancy and conflicts.
By combining all the events (before delete, before insert, and before update) into a single trigger, the developer can manage the logic in an organized and maintainable manner.
This also simplifies debugging and ensures that the trigger logic executes in a predictable order.
C . Create helper classes to execute the appropriate logic when a record is saved:
Using helper classes allows for a clean separation of concerns. The trigger becomes a dispatcher that delegates logic to dedicated classes.
For example, you can create methods like applyDefaultsToExpense(), validateExpenseUpdate(), and deleteExpense() in a helper class and invoke them from the trigger.
This improves reusability, readability, and testability of the code.
Why not the other options?
B . Unify the before insert and before update triggers and use Flow for the delete action:
While Flow is a powerful tool, it is not ideal for deleting records or replacing Apex trigger functionality, especially when triggers already exist for other events.
D . Maintain all three triggers on the Expense__c object but move the Apex logic out of the trigger definition:
Maintaining multiple triggers on the same object can lead to conflicts and execution order issues, even if the logic is moved to helper classes.
Reference:
Trigger Best Practices
Trigger Design Patterns