Questions marquées «c#»

C # est un langage de programmation orienté objet multiparadigme, géré et récupéré, créé par Microsoft en parallèle avec la plateforme .NET



6
Quels sont les inconvénients des types immuables?
Je me vois utiliser de plus en plus de types immuables lorsque les instances de la classe ne devraient pas être modifiées . Il nécessite plus de travail (voir l'exemple ci-dessous), mais facilite l'utilisation des types dans un environnement multithread. Dans le même temps, je vois rarement des types immuables …
12 c#  immutability 

1
Utilisation d'un modèle de visiteur avec une grande hiérarchie d'objets
Le contexte J'ai utilisé avec une hiérarchie d'objets (une arborescence d'expression) un modèle de visiteur "pseudo" (pseudo, car il n'utilise pas la double répartition): public interface MyInterface { void Accept(SomeClass operationClass); } public class MyImpl : MyInterface { public void Accept(SomeClass operationClass) { operationClass.DoSomething(); operationClass.DoSomethingElse(); // ... and so on …





5
Pièges de la conception pilotée par domaine avec Entity Framework
Beaucoup de tutoriels sur DDD que j'ai étudiés couvrent principalement la théorie. Ils ont tous des exemples de code rudimentaires (Pluralsight et similaires). Sur le Web, quelques personnes tentent également de créer des didacticiels couvrant DDD avec EF. Si vous commencez à les étudier brièvement - vous remarquez rapidement qu'ils …

2
L'interface IComparable est-elle obsolète / «nuisible»?
IComparable ne fonctionne que dans un sens Disons que vous avez une Employeeclasse. Dans une vue, vous voulez tout afficher Employeestrié par nom - dans une autre, par adresse. Comment allez-vous y parvenir? Pas avec IComparable, du moins pas de façon idiomatique. IComparable a la logique au mauvais endroit L'interface …
11 c#  sorting  comparison 

2
Test unitaire pour tester la création d'un objet de domaine
J'ai un test unitaire, qui ressemble à ceci: [Test] public void Should_create_person() { Assert.DoesNotThrow(() => new Person(Guid.NewGuid(), new DateTime(1972, 01, 01)); } J'affirme qu'un objet Personne est créé ici, c'est-à-dire que la validation n'échoue pas. Par exemple, si le Guid est nul ou si la date de naissance est antérieure …

5
Un modèle de comptage de référence pour les langues gérées en mémoire?
Java et .NET ont de merveilleux récupérateurs qui gèrent la mémoire pour vous et des modèles pratiques pour libérer rapidement des objets externes ( Closeable, IDisposable), mais seulement s'ils appartiennent à un seul objet. Dans certains systèmes, une ressource peut avoir besoin d'être consommée indépendamment par deux composants et d'être …


4
Comment spécifier une précondition (LSP) dans une interface en C #?
Disons que nous avons l'interface suivante - interface IDatabase { string ConnectionString{get;set;} void ExecuteNoQuery(string sql); void ExecuteNoQuery(string[] sql); //Various other methods all requiring ConnectionString to be set } La condition préalable est que ConnectionString doit être défini / initialisé avant que l'une des méthodes puisse être exécutée. Cette condition préalable …


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.