The Apriori algorithm is implemented in a modular way to ensure loose coupling between different classes. The IAprioriAlgo interface class is created to provide a single public API as shown below that can be exposed from the assembly to be used by other programs