La mia azienda ha pubblicato un annuncio di lavoro per farmi un aiuto. Un recruiter mi ha chiamato oggi e tutto quello che continuava a dire era "MVC questo Entity Framework che ..." - Sembrava scioccato quando ho detto che il progetto utilizza DataSet e Linq2Sql su WinForms e ASP.NET WebForms.
Poi ho esaminato le opzioni per i test automatici dei siti Web e mi sono imbattuto in qui : e ho iniziato ad agitarmi.
Most folks "in the know" are using presentation layers to make ASP.NET so thin that a tool like NUnitAsp isn't helpful.
Questa persona è a conoscenza, e i suoi amici sono apparentemente a conoscenza. Voglio essere anche al corrente, perché essere fuori dal mondo mi fa sentire insicuro e un po 'triste.
Nei miei sforzi l'anno scorso per essere al passo con i tempi, ho realizzato grandi benefici da Linq2Sql e dal contenitore Unity. Entrambi erano nient'altro che buoni per me - colmare le lacune che mi sono state evidenti da secoli.
Poi passai a Model-View-Preseneter per le GUI di WinForms e fui nuovamente felice per lo stesso motivo - mi chiedevo da molto tempo come separare le cose in modo da avere un grosso cliente e un client Web condivide la loro logica comune in una base di codice comune.
Tuttavia, sto discutendo con quanto segue. E so che un milione di persone non possono sbagliare e io non sono più intelligente delle masse, ma ho bisogno di aiuto per vedere:
- MVC come evoluzione dei WebForm
- WPF come evoluzione di WinForms
- Entity Framework come evoluzione di Linq2Sql (e, per quella questione
la deprecazione di Dataset)
(Sospetto che tutto ciò derivi dal mio, fino ad oggi, la mancanza di ottenere Test Fahrvergnügen)
Così, mi sono chiesto, e non ho sentito una risposta a:
- Che cosa guadagno usando MVC in un'applicazione web? So di guadagnare ulteriori risorse di codice sorgente e una nuova DSL da apprendere. Cos'altro?
- Che cosa accadrebbe se usassi oggetti WPF senza il pattern MVVM? Farei del male alle mie possibilità di ottenere un lavoro da qualche altra parte?
- In questo caso, WinForms è davvero rotto? Sono io o Visual Studio hanno un ritardo visivo notevole sul mio dual core 2.8 GHZ con 8 Giga di RAM? Mi piace scattante Voglio che gli utenti finali vivano senza problemi sempre.
- Perché i set di dati sono "alla vecchia maniera"? Sembrano rapidi, efficienti e concisi per molti problemi di piccole e medie dimensioni che devo risolvere (ma non sono nemmeno in Silverlight).
Mi sento come se un grande mucchio di complessità fosse sul piatto e non spargerlo non lo farà sparire. L'intrinseca quantità di complessità deve essere affrontata a prima vista, e forse l'ingegneria del software dovrebbe diventare più simile all'ingegneria elettrica o ingegneria meccanica o alla chirurgia cerebrale.