C'è un modo migliore di StringHelper?

0

Voglio avere funzioni che convertano valori numerici in stringhe in parole inglesi, pluralizzare nomi, flettere, spezzare parole e così via. Userò questi durante un grande progetto. Normalmente li inserirò come metodi statici puri in una classe StringHelper con nient'altro che metodi statici. Ma esiste un modo migliore per organizzarlo per evitare metodi e aiutanti statici?

    
posta Gherman 13.09.2017 - 16:56
fonte

1 risposta

2

Come al solito dipende.

Se lavori solo con una locale e non hai bisogno di alcun tipo di stato per il tuo processo, puoi gestire tutto ciò che è statico e stai bene.

Tuttavia, se intendi avere più lingue in cui le regole da pluralizzare, le parole di interruzione possono cambiare, avrai probabilmente bisogno di:

  • Un'interfaccia generale che espone tutte le funzioni per la manipolazione delle stringhe
  • Una factory che accetta le impostazioni internazionali per la tua richiesta e restituisce la corretta implementazione dell'interfaccia.

Altrimenti, invece di avere tutto ciò che è statico, puoi rimuovere la staticità e usare la nuova. Nel caso in cui elabori un sacco di testo in una volta, assicurati di creare un'istanza solo una volta e non in un ciclo in cui l'istanza potenzialmente molto grande sarebbe solo sprecare tempo e memoria (come un loop per ogni parola in un testo).

Inoltre spero che tu non abbia intenzione di gestire questo tipo di cose manualmente, ho pensato che sembra facile infatti è davvero difficile. Ci sono cose già fatte e disponibili per questo, ad esempio questo per Java . Anche se potrebbe probabilmente usare uno strato intermedio di incapsulamento per fare solo ciò di cui hai bisogno senza avere per tutti gli utenti della tua funzione come usare quella classe.

    
risposta data 13.09.2017 - 18:16
fonte

Leggi altre domande sui tag