La tecnologia di masterizzazione come LINQ, WCF è davvero necessaria o OOPS è sufficiente?

7

Sono uno sviluppatore C #.

La mia osservazione del settore IT come sviluppatore C # è che la tecnologia continua a cambiare o essere aggiornata da Microsoft come LINQ, WCF e WPF ecc.

OOP è stato fondamentale per tutti i tipi di sviluppi che vediamo oggi in qualsiasi lingua.

La mia domanda è,

  1. Va bene se sono un programmatore decente in OOPS ma non controllo alcuna tecnologia specifica?

  2. Come sviluppatore WinForms, è necessario conoscere C ++ con C # per una migliore prospettiva di lavoro?

posta Karthik Sreenivasan 09.11.2011 - 09:53
fonte

4 risposte

13

La programmazione orientata agli oggetti è un paradigma, non una tecnologia. Diverse tecnologie seguono questo paradigma, come C #. Esistono dozzine di diversi paradigmi , che fondamentalmente sono approcci diversi alla risoluzione dei problemi.

LINQ eredita i concetti di programmazione funzionale per semplificarti la vita laddove l'OOP puro si abbrevia. Imparare questa tecnologia è d'obbligo se sei uno sviluppatore C #.

WCF e WPF fanno parte del framework .NET per risolvere particolari scenari comuni. WCF può essere utilizzato per il collegamento in rete, mentre WPF può essere utilizzato per creare applicazioni visive. Ovviamente, se non si sta creando un'applicazione che fa alcuna forma di comunicazione con applicazioni esterne, non è necessario imparare / utilizzare WCF. Allo stesso modo per WPF, non serve a niente impararlo se non hai bisogno di immagini. Esistono alternative per WCF e WPF, ma dato che sono framework supportati da Microsoft sono spesso una buona scelta .

Anche le alternative sperimentali a LINQ iniziano a comparire, ad es. < href . Questi sono molto lontani dal completamento, e per il momento è meglio non attenersi al normale LINQ.

    
risposta data 09.11.2011 - 10:38
fonte
3

Come al solito "dipende". In realtà dipende principalmente dal fatto che tu abbia bisogno di questi strumenti per portare a termine il tuo particolare lavoro. Tuttavia, dovrebbe sapere cosa queste tecnologie particolari ti consentono di ottenere altrimenti potresti finire reinventando la ruota per ottenere un determinato lavoro o creare parti non standard per portare a termine il lavoro.

Ad esempio, se non conosci LINQ, potresti ottenere lo stesso risultato utilizzando i loop per interrogare un set di dati, ecc. ma questo probabilmente non avrebbe le stesse buone prestazioni e prendere 10 linee di codice dove LINQ avrebbe richiesto 2.

Non conosco ogni tecnologia correlata .net, ad es. Non conosco il WWF (Workflow) perché non è mai stato necessario, ma so cosa è usato per !

TL; DR dovresti sapere quali strumenti sono utilizzati per anche se non sai come utilizzare lo strumento.

    
risposta data 09.11.2011 - 11:57
fonte
3

Resharper è lo strumento migliore che ho trovato per imparare LINQ. Finora non ho avuto la necessità di imparare più dei refactoring suggeriti da Resharper.

Per quanto riguarda la WCF, mi sono raccomandato di imparare quando / se necessario. Studia invece webservices, SOAP e remoting. Se riesci a cogliere il concetto, puoi imparare molto rapidamente WCF quando necessario.

    
risposta data 09.11.2011 - 10:40
fonte
2

LINQ è lontano da necessario , ma una volta avviato utilizzandolo non vorrai più tornare indietro.

Anche se non hai mai fatto alcuna programmazione funzionale, gli aspetti funzionali di LINQ ti porteranno in un nuovo modo di ragionare sui problemi e in un nuovo modo espressivo per rappresentare le tue idee in codice.

Anche se non hai mai usato database per archiviare dati, il fatto che tu possa usare LINQ su qualsiasi struttura dati che implementa IQueryable , significa che puoi imparare a utilizzare LINQ con le raccolte standard ora e quando in seguito dovrai aggiungere XML, ADO o SQL, sai molto di ciò che ti serve già .

Per me, LINQ to Objects è stato un'aggiunta elegante a C # e mi piacerebbe per trovare qualcosa di equivalente per Java.

    
risposta data 09.11.2011 - 19:04
fonte

Leggi altre domande sui tag