Progettazione di una nuova applicazione da zero, basata su TDD, MVC, OOD [duplicato]

0

Sto per migliorare le mie competenze in tutto ciò che è correlato alla progettazione di applicazioni partendo da principi OOD appropriati, coinvolgendo pattern MVC e usando l'approccio TDD per farlo.

Ho un progetto per questo. Ho anche finito di leggere un libro di Matt Zandstra: PHP Objects, Patterns and Practice

E la mia domanda rimane ancora senza risposta ...

Come posso iniziare a progettare da zero? Dovrei iniziare a usare TDD immediatamente? Non sembra comodo quando non hai ancora implementato nulla. Dovrei usare il codice spaghetti solo per costruire il prototipo funzionante per primo, capire la portata e le esigenze e solo allora riscrivere tutto usando OOD e TDD appropriati?

Mi piacerebbe avere qualche consiglio, come lavorare per qualcosa di considerato "DESIDERATO", o qualsiasi libro che descriva effettivamente come costruire le applicazioni da zero, o progettare un'architettura e dipendenze, piuttosto piuttosto che lanciare codici di esempio di implementazione senza vita come Zandstra.

Grazie!

UPD: Fondamentalmente, la mia domanda è: È una buona idea iniziare immediatamente un nuovo progetto dall'uso di TDD e OOD appropriato, o prima scrivere qualcosa che funzioni usando i modi più orribili e veloci e poi refactoring di tutto o riscrivi da zero dopo aver avuto un'idea di come vuoi che la tua applicazione assomiglia?

    
posta deb0rian 01.08.2013 - 14:51
fonte

1 risposta

5

C'è un corso Lynda.com chiamato Fondazioni di programmazione: Object-Oriented Design là fuori dove la persona che dà il corso dice "quando ti siedi di fronte a un editor di codice, guarda il cursore lampeggiante e pensa ora cosa devo fare fare? la risposta è sempre allontanarsi dal codice e scegliere carta e matita ". Lo dice per una buona ragione: non puoi sviluppare qualcosa senza capire prima cosa hai bisogno di sviluppare e come stai per implementare le cose.

Nella tua domanda sembra che quello che stai facendo è andare direttamente all'editor di codice e provare a utilizzare OOP senza prima fare ciò che viene chiamato analisi e progettazione orientata agli oggetti (ho detto < em> sembra perché non so davvero se hai fatto questo processo prima o no). L'idea è che prima di provare a codificare qualcosa devi sapere cosa codificare.

Quindi c'è un approccio in cinque passi che puoi seguire:

  • Raccogli i requisiti
  • Descrivi l'applicazione
  • Identifica gli oggetti principali
  • Descrivi le interazioni
  • Crea un diagramma di classe

Una volta fatto questo, alla fine avrai un diagramma di buona classe che ti indicherà cosa sviluppare. Guarda che questo ti darà un'idea dell'aspetto dell'applicazione senza dover sviluppare prima un prototipo in un altro paradigma di programmazione. Ora, quando sviluppi ogni metodo, ti consiglio di usare TDD.

Quindi, programmare prima in un altro paradigma e poi passare in seguito a OOP sarà molto più doloroso che avviare la strada giusta con OOP. Ci sono buoni libri sull'analisi e progettazione orientata agli oggetti là fuori e c'è anche questo corso Lynda.com. Ovviamente i libri e il corso sono pagati ma vale la pena acquistare questo tipo di materiale, dal momento che può aiutare molto in casi del genere.

    
risposta data 01.08.2013 - 15:21
fonte

Leggi altre domande sui tag