Qualunque metodologia di programmazione del flusso principale alternativa a OOP usando C #?

8

Per quanto riguarda i linguaggi di programmazione, adoro C #, e del resto tutto il bene che viene dal framework .net (LINQ, ecc.).

La mia preoccupazione principale è che mi sembra che stia sfornando troppi codici e, usando OOP, ho una preoccupazione che il mio codice non è sempre così facile da gestire.

Voglio continuare ad usare C # e .Net, ma ci sono altri approcci per applicare la lingua per ottenere meno codice e più facile da gestire rispetto al libro di testo OOP?

Grazie in anticipo!

    
posta JL01 09.08.2011 - 15:41
fonte

5 risposte

11

Sì. Ho trovato lo stesso problema. OOP non è il modo migliore per risolvere tutti i problemi. Tuttavia, C # supporta abbastanza bene il paradigma funzionale e l'ho usato con successo su alcuni progetti ora.

C'è un discorso interessante qui riguardo alla semplificazione che dovrebbe darti qualche spunto di riflessione almeno: link

    
risposta data 09.08.2011 - 15:47
fonte
1

Se sei disposto a sperimentare prova AOP / C # come qui e < a href="http://blogs.msdn.com/b/saveenr/archive/2008/11/20/c-aop-elegant-tracing-with-postsharp-and-aspect-orientented-programming.aspx"> qui . il PDF ha una scheda su pro e contro.

    
risposta data 09.08.2011 - 15:54
fonte
1

La programmazione orientata all'aspetto potrebbe consentire di ottenere un po 'di efficienza gestendo le "preoccupazioni trasversali" in modo uniforme. Ci sono altri possibili benefici, ma a mio parere sarebbe utile per te!

collegamento http://www.sharpcrafters.com/aop.net

    
risposta data 09.08.2011 - 15:57
fonte
0

Prima di allontanarti troppo dai diversi metodi, assicurati di sfruttare il refactoring per semplificare e consolidare il tuo codice. Ecco il catalogo di Fowler, il " alfa Elenco dei refactoring ", ognuno dei quali può aiutarti a migliorare e gestire il tuo C # codice.

Imparando a progettare in modo efficace il riutilizzo e ottimizzando l'applicazione di interfacce, classi astratte, gerarchie di classi, iniezioni di dipendenze e strumenti simili esistenti all'interno della metodologia orientata agli oggetti standard, potresti trovarti sulla buona strada per raggiungere i risultati desiderati.

Oltre a ciò, @Chris Smith ti ha già segnalato il fatto che le versioni più recenti di C # (3.5 e 4.0) hanno aggiunto diverse funzionalità di programmazione funzionale che potrebbero aiutarti a rendere il tuo codice rock!

Se ritieni che ti piaccia la programmazione funzionale, prova la nuova lingua F # di Microsoft! In realtà è più simile a "oggetto funzionale", una miscela delle due metodologie. Potresti anche voler sapere che puoi mescolare F # e C # nella stessa soluzione .NET .

Concordo anche con gli altri commentatori che AOP ha certamente i suoi usi!

    
risposta data 10.08.2011 - 19:38
fonte
0

OOPS potrebbe aver causato più codice ma se la tua applicazione è grande, la ridotta complessità di OOPS comporterebbe un codice gestibile e comprensibile e manutenibile. Se questo non è il caso e lo senti come un peso sono sicuro che potresti aver usato impropriamente. controlla se le tue classi rappresentano correttamente gli oggetti del dominio e la comunicazione tra loro è simile a come avviene nel sistema del mondo reale che provi a simulare in programma.

In C #, troppo codice non è una ragione realistica per allontanarsi da OOPS IMHO. Un cambiamento di paradigma dovrebbe avere una ragione molto più valida, in realtà.

si può fare "programmazione strutturata" in C # .. ma immagino che sarà uno spreco di tempo e fatica. E la maggior parte delle alternative tradizionali usano anche OOPS.

    
risposta data 10.08.2011 - 20:07
fonte

Leggi altre domande sui tag