Come posso "entrare nel sapere"?

8

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.

    
posta Aaron Anodide 05.08.2011 - 19:58
fonte

2 risposte

9

Well, I want to be in the know too - because being out of the know makes me feel insecure and a little sad.

+1 per essere in grado di esprimerti senza vergogna.

Suggerirei di seguire i blog. Se vuoi essere "informato", segui queste persone

  • Roba di tendenza: Rob Conery; Jeff Atwood, Joel Spolsky
  • MVC: Scott Hanselmann, Rachel Appel, Rob Conery (Again)
  • .NET in generale: Scott Guthrie, Jeff Atwood, Jon Skeet

Quei ragazzi e quella ragazza scrivono blog facili da seguire e capire. Li puoi trovare sul Web (prova a cercarli su Google con Bing)

    
risposta data 05.08.2011 - 20:11
fonte
3

Penso che tu stia facendo alcune buone domande. Ciò che si riduce, a me comunque, è costantemente chiedendo "Esiste un modo migliore?"

Ci sono fastidi che ho con l'utilizzo dei set di dati? Ci sono dei fastidi che ho costantemente iterando su un elenco di articoli? Porta la query su google e guarda come lo stanno facendo gli altri.

Lo paragono agli elettricisti. Il filo d'oro nell'isolamento in cotone funzionerà. Ma ha alcuni problemi. Ci sono metodi più economici e sicuri usati per collegare una casa oggi (di conseguenza, i codici nelle città richiedono la tecnologia più recente). Ora, se assumi un elettricista, potresti trovarne uno che conosce solo la vecchia strada, e potrebbe fare funziona. Oppure puoi assumere un ragazzo che è aggiornato sulla sua tecnologia e che lo farà funzionare ed essere più sicuro.

Anche con il codice. Potresti semplicemente attivare Ado.Net ed eseguire il codice (e talvolta devi farlo.) Ma il codice sarà meno leggibile (e possibilmente meno manutenibile) rispetto all'utilizzo di un ORM. La difficoltà consiste nel fatto che hai bisogno di conoscere il "vecchio modo" in modo da avere una comprensione di ciò che accade nel "nuovo modo". Quindi non usare MVC solo perché è nuovo, dai un'occhiata ai suoi benefici e valutali rispetto ai vantaggi di farlo alla vecchia maniera.

    
risposta data 05.08.2011 - 20:22
fonte

Leggi altre domande sui tag