Funzionalità di un sistema di routing

3

Mi sono occupato dell'idea di creare un sistema di routing come esperienza di apprendimento e non per alcuni scopi di produzione.

Ho provato a decidere quali funzioni sono indispensabili e quali sono le funzionalità meglio gestite altrove in un sistema. Ho creato un breve elenco di funzionalità e vorrei ricevere un feedback su di esso. Ci sono cose che mancano? O c'è qualcosa che è solo puro eccesso? La lista segue:

  • Corrispondenza di espressioni regolari contro URI
  • Schema di richiesta HTTP corrispondente
  • Metodo di richiesta HTTP corrispondente
  • Verifica se una richiesta è una richiesta normale o una richiesta AJAX.

Ho scelto di usare le espressioni regolari in modo da avere la possibilità di utilizzare i gruppi di cattura per abbinare un URI dinamico. Per quanto riguarda il surriscaldamento delle espressioni regolari, penso che il peggio possa essere ridotto producendo espressioni intelligenti e corrispondendo solo finché non viene trovata una corrispondenza.

    
posta AnotherGuy 07.12.2014 - 01:14
fonte

1 risposta

1

Ognuno ha la propria lista dei desideri per il routing. Ecco perché così tante persone hanno guardato il panorama, hanno deciso che il routing di tutti gli altri è cattivo e ne ha scritto uno nuovo.

Detto questo, la parte superiore della mia lista dei desideri include il routing gerarchico. Cioè, in base all'inizio dell'URL dovresti essere in grado di indirizzare a un componente che prende il componente successivo e indirizza anche quello. Questo ha un vantaggio in termini di prestazioni (non è necessario controllare il livello principale per ogni URL nei componenti in cui sappiamo che non ci si trova) e anche un vantaggio di modularità del codice (quando si lavora su un componente, non è necessario fare confusione con codice per altri).

E la parte superiore della lista dei desideri per qualsiasi scopo SEO includerà la possibilità di avere la riscrittura dell'URL in cui gli URL esterni SEO ottimizzati mantenuti in una tabella dinamica vengono rimappati in URL interni che riflettono la struttura dell'applicazione.

Ed esotericamente a livello di applicazione, mi piacciono i componenti modulari all'interno delle pagine. Ciò significa che all'interno di una pagina di livello superiore potresti avere un componente per una barra laterale qui sopra, un altro per un'unità pubblicitaria laggiù e così via. Se ti piace il design, allora potresti prendere in considerazione il riutilizzo della logica di routing sia per trovare un URL di livello superiore, sia per trovare un componente all'interno della tua applicazione. Uno degli aspetti positivi dell'operare in questo modo è che è possibile impostare i componenti come elementi che restituiscono una struttura dati e che la struttura dati può essere consumata all'interno dell'applicazione durante la generazione di una pagina o esposta come JSON per una richiesta AJAX. Tuttavia questo è idiosincratico e non provarlo se non ti sembra interessante.

    
risposta data 07.12.2014 - 20:39
fonte

Leggi altre domande sui tag