I'm using the following patterns in my contracts:
- Oracles: Utilizes Chainlink oracles to get data from outside the blockchain. I'm using the price feed to return the price of a security.
- Factory Pattern: Create contracts from a base contract.
- Inter-Contract Exectuion: with parent contract, calling/creating "child" contracts created by the factory.
- Inheritance: Uses Chainlink keepers and extends the KeeperCompatible contract.