Molti sistemi CMS che si affidano a terze parti per gran parte del loro codice spesso costruiscono sistemi "plugin" o "hook" per facilitare agli sviluppatori la modifica delle azioni del codebase senza modificare i file core.
Questo di solito significa un modello di design Observer o Event .
Tuttavia, quando guardi sistemi come wordpress, vedi che su ogni pagina caricano una specie di file bootstrap da ciascuna delle cartelle del plugin per vedere se quel plugin dovrà eseguire quella richiesta. Si tratta di un design scarso che fa sì che sistemi come wordpress impieghino molti MB aggiuntivi di memoria a caricare e analizzare gli articoli non necessari in ciascuna pagina.
Esistono modi alternativi per farlo? Sto cercando idee per creare il mio.
Ad esempio, esiste un modo per caricare tutto questo una volta e quindi memorizzare nella cache i risultati in modo che il tuo sistema sappia come caricare i plugin in modalità lazy? In altre parole, il sistema carica un file di configurazione che specifica tutti gli eventi che il plug-in desidera collegare e quindi lo salva per le richieste future?
Se anche questo si comporta male, allora forse c'è una speciale struttura di file che potrebbe essere usata per fare ipotesi plausibili su quando alcuni plug-in non sono necessari per completare la richiesta.
Qualche idea?
Se qualcuno vuole un esempio del concetto di "plugin" puoi trovarne uno qui .