Ho letto (e guardato le presentazioni) su argomenti come: DDD, TDD, BDD, SOLID (principi), schemi di progettazione, codice pulito, architettura pulita, metodologie di progetto agili.
Tutto sommato ho una visione abbastanza chiara su come affrontare lo sviluppo di software agile. Soprattutto la parte DDD aiuta davvero a comunicare a tutti i soggetti coinvolti nel team (stakeholder, proprietari di prodotti, membri del team, ecc.).
Sviluppare un buon software è difficile e apprezzo molto le opinioni degli sviluppatori esperti. Tuttavia dicono cose come: "L'interfaccia utente (o database) è un dettaglio di implementazione".
Se stai osservando dal valore fondamentale del prodotto è certamente vero. In realtà, tuttavia, l'utente finale si occupa esclusivamente dell'interfaccia utente. Per rendere il nostro prodotto davvero utile, abbiamo bisogno di un'esperienza utente eccellente.
Diciamo che abbiamo un client html / css / javascript a pagina singola. La progettazione e la creazione di tutta la "sola interfaccia utente" sono abbastanza fattibili. Ho dei problemi con le seguenti cose:
- Logica del dominio - Vive nel mio modello di dominio sul server. Sembra fragile duplicarlo nel client. L'esposizione di quelle parti del modello di dominio sul server potrebbe essere un'opzione, ma probabilmente creerebbe molte richieste (un problema di prestazioni). Tuttavia, richiedere all'utente di immettere un valore compreso tra 0 e 42 è chiaramente una regola aziendale.
- Storie degli utenti / Scenari / Comportamento / Casi di utilizzo - Qualunque cosa tu chiami. Il server è in grado di gestire i casi d'uso, se lo abbiamo fatto bene sono ben specificati dalle specifiche comportamentali. L'interfaccia utente dovrebbe implementare una 'vista' o 'guida' per questi scenari. Dovremmo probabilmente riutilizzarli giusto?
Non sono riuscito a trovare nulla sulla combinazione di queste cose. Hai qualche risorsa o idea su questo?
Ci deve essere qualche persona intelligente che ha detto qualcosa di molto illuminante su questo argomento, altrimenti: ecco la tua occasione