Quanto è diversa la logica aziendale nelle applicazioni aziendali rispetto alle applicazioni mobili?

-2

solo una cosa dopo discutere il mio dubbio Sono uno sviluppatore mobile e sto cercando di adattarsi DDD, e dico adattarsi perché un sacco di informazioni è legata alle applicazioni di back-end

logica di business

Il mio dubbio iniziare perché ho una classe User che fa parte del mio modello (im utilizzando MVP), e anche in termini di DDD si tratta di un oggetto di dominio, so che deve essere in strato del dominio, e qui iniziare la mia prima domanda

  1. La mia classe utente non è un oggetto semplice ma ha anche funzionalità, metodi come, storeUserInLocalDataBase o StoreCredentialsInKeyChain o createObjectWithJSON, questi metodi sono correlati all'utente in modo che io lasciato in classe utente, ma mantenere una sessione non fa parte del business logica? la capacità di ricordare le credenziali dell'utente (StoreCredentialsInKeyChain) non fa parte della business logic ?, quindi in questo modo penso che dovrei spostare questi metodi su UserDomain classe giusta ?, e qui inizia un altro dubbio

  2. Se ho una classe UserDomain significa che ho creato il mio modello di dominio o UML my User class dovrebbe interagire con altre classi e componenti e il personaggio principale in questo processo di business dovrebbe essere l'utente giusto? questo è il motivo per cui ho chiamato la classe UserDomain

  3. Ma cosa è successo se c'è una classe del modello Mission come parte del UserDomain e un utente possono getCurrentMission ?, questo getCurrentMission fa parte di UserDomain o dovrebbe essere MissionDomain?

  4. Che cosa è successo se la classe di missione ha più logica? dovrebbe essere nel La classe del modello come il mio primo approccio nella classe utente? o dovrei spostare quella logica nella classe UserDomain? e se questo accade con qualsiasi altro oggetto in UserDomain, la mia classe UserDomain verrà riempita con molta logica delle mie classi di modelli e immagino che questo possa essere un problema o forse no

Ecco alcune domande che spero di essere chiare e puoi capire perché sono così confuso su questo

Grazie, apprezzerò molto i tuoi commenti

    
posta Yo Mariano 25.04.2017 - 21:02
fonte

1 risposta

0

Se il tuo telefono cellulare si associa alla tua GUI Web 1 a 1, hai un problema abbastanza facile da risolvere. Basta applicare correttamente il pattern MVC / MVP. Il telefono e l'applicazione Web possono condividere tutto tranne la vista.

DB -> Business-Model -> Controller/Presenter -> View-Model -> Html Render/Desktop Gui
                                                     |------> Mobile App

Dove potresti aver sbagliato, è che i tuoi modelli sono ambigui, vale a dire, rappresentano sia le entità aziendali che i modelli di visualizzazione.

Se ci sono differenze sostanziali nella presentazione ma non nella logica di business tra le app mobili e web, devi spostare la divisione in basso nella catena:

DB -> Business-Model -> Business-Service -> Presenter -> View-Model -> GUI 
                                |->Mobile-Presenter -> M-View-Model -> GUI

E, se funzionano in modo completamente diverso, allora hai molto lavoro ...

DB -> Data-Service -> "  
             |------> "

Se non è chiaro, si ottiene il modello di visualizzazione per l'app mobile tramite http / json

    
risposta data 27.04.2017 - 18:33
fonte