Ho un problema di decisione di progettazione e vorrei avere alcuni pensieri su di esso.
Sto costruendo un CMS da utilizzare per i miei progetti e voglio incorporare componenti esistenti al suo interno, come Doctrine, Monolog e qualsiasi altro che trovo adatto.
La domanda è: dovrei consentire al codice di accedere direttamente a questo componente, o dovrei avere una classe buffer (proxy) che funge da API per il componente sottostante?
In termini di prestazioni / facilità e accesso a tutte le funzionalità penso che sia meglio consentire questo accesso, ma in questo caso perdo il controllo quando il comportamento dei componenti cambia (aggiornamento della versione principale ecc.). Se avessi una classe di buffer, non mi blocco a un particolare componente, e nemmeno posso sostituirlo con un altro, pur senza compromettere la compatibilità all'indietro, ma in questo caso devo quasi duplicare il codice dal componente (intendo, funzione da la mia classe buffer chiama le funzioni dal componente)
Il CMS è scritto in PHP, se questo è importante.