Quindi diciamo che stiamo creando un semplice framework "sistema modulare".
Le bare bare potrebbero essere la gestione degli utenti. Ma vogliamo che le cose come il Gestore delle pagine, il Blog, la Galleria di immagini siano tutti componenti "opzionali".
Quindi uno sviluppatore può installare Page Manager per consentire al proprio client di aggiungere una home page statica e una pagina con contenuto che possono essere facilmente modificati con un editor wysiwyg.
Lo sviluppatore potrebbe quindi installare anche il componente Blog per consentire al client di aggiungere voci di blog.
Lo sviluppatore potrebbe quindi installare anche il componente Galleria per consentire al client di mostrare un sacco di immagini.
Il fatto è che tutte queste componenti sono progettate per essere indipendenti, quindi come fare per garantire che non si scontrino? Per esempio. assicurando che il client non crei una pagina / gallery con Page Manager e poi si chieda perché la galleria abbia smesso di funzionare, o lo stesso problema con il componente Blog, supponendo che consentiamo agli utenti di personalizzare la struttura dell'URL del blog (perché ricorda, il Gestore della Pagina non deve necessariamente essere lì, quindi potremmo evitare che i post del nostro blog siano formattati per Data / Titolo, allo stesso modo i nostri clienti non saranno sempre contenti di avere le loro pagine sotto la formattazione di pagine / titoli .
La mia domanda principale qui è che, quando costruisci un sistema modulare, possiamo garantire che i moduli non siano in conflitto senza limitare la funzionalità?
Lascialo solo ai clienti / sviluppatori che usano i moduli per assicurarti che ottengano il setup in un modo che non sia in conflitto?