Utilizzo delle funzioni framework (Wordpress) nell'architettura a livelli

1

Sto costruendo un'app con i soliti livelli come presentazione, applicazione, infrastruttura. In questo momento, ho utilizzato le funzioni di Wordpress in entrambi i miei controller e repository. Ho pensato che i controller devono essere riscritti in ogni caso se il framework cambia, e gli archivi fanno parte di un'implementazione (come WordPressUserRepository), quindi ha pensato che sarebbe andato bene.

Esiste un consenso generale sulle funzioni del framework nei livelli? Sento sempre più che il mio codice diventa troppo accoppiato al framework ...

    
posta Michael 17.08.2018 - 18:34
fonte

1 risposta

1

La definizione di un framework è più o meno come se fossi bloccato a usarlo. La struttura detta la tua architettura. Il tuo codice è intrecciato con il framework. È come scegliere il linguaggio di programmazione. Non puoi modificare il framework senza una riscrittura quasi completa.

Se provi a isolare il tuo codice dal framework, stai combattendo il framework ad ogni passo invece di lasciarti aiutare. Le cose diventano due volte più difficili, perché oltre a scrivere il tuo codice reale dovrai spesso scrivere i wrapper necessari. Questi wrapper finiscono per essere il proprio framework interno che nessun altro conosce.

Ci sono modi per limitare l'impatto di una scelta di struttura. Per esempio. la tua logica di business (se ce ne sarà) sarà probabilmente completamente indipendente dal framework. Invece di un'architettura a strati Views -> Model -> Data è possibile scegliere qualcosa come Onion Architecture in cui le dipendenze sono Views -> Model <- Data . Cioè il modello non dipende dalle altre parti. Se le viste e le interfacce dati fanno uso di un framework, ciò non influirà sul modello dell'utente, ad esempio sulla logica aziendale. Ma questo può anche significare che non puoi beneficiare di modelli come ORM incorporati nel tuo modello.

In molti casi, la velocità di sviluppo è più importante della flessibilità strategica per quanto riguarda le future modifiche del framework. Questa flessibilità porterebbe solo a soluzioni troppo ingegnerizzate. Una struttura completa che assiste in tutte le parti dell'applicazione è quindi benvenuta, anche se il tuo codice diventa inseparabile da quella struttura. Questa è la tua scelta.

    
risposta data 17.08.2018 - 19:12
fonte

Leggi altre domande sui tag