C # è un linguaggio di programmazione orientato agli oggetti multiparadigm, gestito e raccolto in modo indesiderato creato da Microsoft in parallelo con la piattaforma .NET
Stiamo sviluppando un nuovo progetto che deve essere distribuito su un gran numero di siti client. Il progetto contiene una GUI basata sul web come uno dei suoi "punti di accesso". La velocità dell'interfaccia web è una priorità per questo progetto, seconda solo alla sicurezza. In passato, abbiamo sempre creato …
In passato, in genere ho fatto la maggior parte della mia manipolazione di un oggetto all'interno del metodo principale che viene creato / aggiornato, ma ultimamente mi sono ritrovato ad adottare un approccio diverso e sono curioso di sapere se è una cattiva pratica. Ecco un esempio Diciamo che ho …
Mi vedo usare tipi sempre più immutabili quando non si prevede che le istanze della classe vengano modificate . Richiede più lavoro (vedere l'esempio seguente), ma semplifica l'utilizzo dei tipi in un ambiente multithread. Allo stesso tempo, raramente vedo tipi immutabili in altre applicazioni, anche quando la mutabilità non gioverebbe …
Contesto Ho usato con una gerarchia di oggetti (un albero delle espressioni) un modello di visitatore "pseudo" (pseudo, poiché in esso non viene utilizzato il doppio dispacciamento): public interface MyInterface { void Accept(SomeClass operationClass); } public class MyImpl : MyInterface { public void Accept(SomeClass operationClass) { operationClass.DoSomething(); operationClass.DoSomethingElse(); // ... …
Quindi ho creato un livello di accesso ai dati tramite TDD e ho affrontato un po 'di preoccupazione. Preferirei non iniziare sulla strada sbagliata, quindi ho pensato di chiedere a voi ragazzi di vedere se i miei pensieri erano in linea con un'architettura pulita. I metodi all'interno del mio livello …
Con l'aiuto di AOP, posso rimuovere il codice di registrazione dalla mia logica aziendale. Ma penso che possa essere utilizzato solo per registrare cose semplici (ad es. Immissione / uscita del metodo di registrazione e valori dei parametri). Tuttavia, cosa succede se devo registrare qualcosa nella mia logica aziendale? per …
Sono un ingegnere elettrico e non so che diavolo sto facendo. Salva i futuri manutentori del mio codice. Recentemente ho lavorato su una serie di programmi più piccoli (in C #) la cui funzionalità è logicamente "procedurale". Ad esempio, uno di questi è un programma che raccoglie informazioni da diversi …
Molti tutorial su DDD che ho studiato riguardano principalmente la teoria. Tutti hanno esempi di codice rudimentale (Pluralsight e simili). Sul web ci sono anche tentativi da parte di alcune persone di creare tutorial che trattano DDD con EF. Se inizi a studiarli solo brevemente, noti rapidamente che differiscono molto …
IComparable funziona solo in un modo Diciamo che hai una Employeelezione. In una vista, vuoi mostrare tutto Employeesordinato per nome - in un'altra, per indirizzo. Come lo farai? Non con IComparable, almeno non in alcun modo idiomatico. IComparable ha la logica nel posto sbagliato L'interfaccia viene utilizzata chiamando .Sort(). In …
Ho un Unit Test, che assomiglia a questo: [Test] public void Should_create_person() { Assert.DoesNotThrow(() => new Person(Guid.NewGuid(), new DateTime(1972, 01, 01)); } Sto affermando che qui viene creato un oggetto Person, ovvero che la validazione non fallisce. Ad esempio, se il Guid è nullo o la data di nascita è …
Java e .NET hanno meravigliosi garbage collector che gestiscono la memoria per te e modelli convenienti per il rilascio rapido di oggetti esterni ( Closeable, IDisposable), ma solo se sono di proprietà di un singolo oggetto. In alcuni sistemi potrebbe essere necessario consumare una risorsa in modo indipendente da due …
Sono uno sviluppatore C ++ che da allora utilizza il modello MVC per progettare GUI. Recentemente volevo tornare in C # e ho impostato un'applicazione Windows Form, ma ora mi sono un po 'perso su come spingerlo a una struttura conforme a MVC. Quello che sto attualmente cercando di fare …
Diciamo che abbiamo la seguente interfaccia: interface IDatabase { string ConnectionString{get;set;} void ExecuteNoQuery(string sql); void ExecuteNoQuery(string[] sql); //Various other methods all requiring ConnectionString to be set } Il presupposto è che ConnectionString deve essere impostato / inizializzato prima di poter eseguire uno qualsiasi dei metodi. Questa condizione preliminare può essere …
Nella nostra logica aziendale abbiamo occasionalmente metodi definiti in questo modo: User.ResetCourse(Course courseToReset) Il problema è che sia l'utente che il corso sono oggetti proxy Entity Framework. Ciò significa che quando colpiamo le proprietà di navigazione su Utente o Corso, può causare un enorme successo al database perché quegli oggetti …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.