Bene, i modelli di design sono esattamente questo; schemi concettuali per lo sviluppo di algoritmi, non necessariamente implementazioni di detto modello che funzionano nel caso generale. Pertanto, le librerie che forniscono funzionalità "built-in" possono utilizzare un particolare modello e possono persino essere esempi brillanti dell'uso di detto pattern, ma non sono THE pattern. Non hai bisogno di una classe StrategyProvider che possa essere configurata per soddisfare qualsiasi esigenza, devi solo definire un insieme di classi e strutturarle per seguire il modello di strategia.
L'idea è intrigante. Sembra che funzioni bene per l'organizzazione dei documenti, i diagrammi di flusso, i social network, ecc. Tuttavia, la sua implementazione in ciascuno di questi scenari sarebbe molto diversa e, mentre si sovrappone, potrebbe essere impossibile creare un'implementazione che soddisfi i requisiti requisiti di tutti questi scenari, senza esporre "effetto piattaforma interna" (un oggetto / libreria / applicazione così complesso e configurabile che diventa fondamentalmente una reimplementazione dell'IDE utilizzato per costruirlo).