* Why a Trigger on the Child Object? * Since the relationship is not master-detail, a trigger on the child object can perform aggregate calculations and update the parent Opportunity. * Why Not Other Options? * A: Tree sorting is unnecessary and unrelated to roll-up summaries. * B and D: Neither Streaming API nor Metadata API is suitable for real-time roll-up calculations. * Custom Roll-Up Summaries: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode /apex_triggers_best_practices.htm References: