What engineering advantage does modelling oracles as these foundational patterns give, beyond classification?
A clean separation of concerns: the off-chain data-sourcing logic lives entirely in the oracle, so you can add or swap data sources without touching — or re-deploying — the on-chain contract.
Because each pattern isolates the boundary-crossing work into a listener → Controller → deliverer pipeline, the on-chain application only ever sees "some oracle delivers data" and never the messy details of which API, sensor, or aggregation produced it. Changing or adding an information source means revising the oracle alone; the smart contract's logic stays fixed. That matters practically: on-chain code is costly and risky to change (immutable once deployed, gas to redeploy), so pushing volatility to the off-chain side is exactly where you want it. It also means the same on-chain contract can be served by a centralized oracle today and a decentralized one later, with no on-chain rewrite.
Go deeper:
Foundational Oracle Patterns (Mühlberger et al., arXiv) — argues the patterns as a separation-of-concerns tool, not just a taxonomy.