Il modo migliore per dividere la logica dell'applicazione forma la propria azienda e i propri clienti

0

Lavoro su un'applicazione di ruby-on-rails per un'azienda (The Company) che fornisce servizi a un'altra società. Attualmente ci sono due tipi di utenti: i dipendenti della Società e gli utenti delle aziende clienti. Esistono anche altri esempi di risorse simili che si comportano in modo diverso per utenti interni e utenti esterni (client).

Esempi:

  • ci sono fatture per i dipendenti della Società e per i clienti - ognuno ha una logica leggermente diversa
  • la stessa risorsa (ad esempio Order ) dovrebbe avere una visualizzazione show diversa per tipi di utente diversi

Qual è il modo migliore per dividere tutto bene? Ho trovato le seguenti idee:

  1. metti tutto in uno dei moduli: Core , External , Internal , dove Internal sarebbe per La logica dell'azienda e External sarebbe per i client. Esempio: avrei Internal::User , External::User , Internal::Invoice e External::Invoice modelli e Core::Identity per dati utente comuni come email ( Internal::User farebbe riferimento Core::Identity ). Problema: come nominare questi moduli? Internal e External non mi sembrano buone. Sta usando Il vero nome dell'azienda è buono per un nome di modulo? Non sono convinto. Mi lascia ancora il problema di nominare il modulo External .

  2. Utilizzando prefissi, ad es. avere modelli internal_user , external_user , internal_invoice , external_invoice ecc. ma sembra proprio un caso perfetto per usare i moduli.

posta pmichna 19.06.2017 - 18:09
fonte

0 risposte

Leggi altre domande sui tag