Génie logiciel

Q & A pour les professionnels, les universitaires et les étudiants travaillant dans le cycle de vie du développement de systèmes

2
Pourquoi séparer la classe CommandHandler avec Handle () au lieu de gérer la méthode dans la commande elle-même
J'ai une partie du modèle CQRS implémentée à l'aide de l' architecture S # arp comme ceci: public class MyCommand { public CustomerId { get; set; } // some other fields } public class MyCommandHandler<MyCommand> : ICommandHandler<MyCommand, CommandResult> { Handle(MyCommand command) { // some code for saving Customer entity return …

5
Comment simuler une API REST?
Je travaille sur un nouveau projet qui interrogera les données d'une API REST tierce. Il s'agit d'un flux de données sportives en temps réel, donc le flux ne fonctionne que lorsqu'un jeu se déroule réellement. Bien que la tierce partie fournisse une bonne documentation (XSD, etc.), ils n'ont aucun moyen …
13 api  rest 


2
Les types sont-ils effacés dans Haskell?
Haskell a une notion de «fonctions génériques» qui a une certaine similitude apparente avec le lisp commun - n'ayant aucune expérience avec Haskell ni avec le lisp commun, je pourrais être très approximatif ici. Cela signifie que l'on peut définir une fonction générique to_stringpour définir une représentation sous forme de …

6
Programmation basée sur contrat vs test unitaire
Je suis un programmeur quelque peu défensif et un grand fan des contrats de code Microsofts. Maintenant, je ne peux pas toujours utiliser C # et dans la plupart des langues, le seul outil dont je dispose est les assertions. Je me retrouve donc généralement avec un code comme celui-ci: …






4
Linq est-il plus efficace qu'il n'y paraît en surface?
Si j'écris quelque chose comme ça: var things = mythings .Where(x => x.IsSomeValue) .Where(y => y.IsSomeOtherValue) Est-ce la même chose que: var results1 = new List<Thing>(); foreach(var t in mythings) if(t.IsSomeValue) results1.Add(t); var results2 = new List<Thing>(); foreach(var t in results1) if(t.IsSomeOtherValue) results2.Add(t); Ou y a-t-il de la magie sous …
13 c#  linq 

3
Comment un responsable non informatique doit-il garantir la maintenance et le développement à long terme des logiciels hérités essentiels?
Nous sommes une petite société d'administration d'avantages sociaux très spécialisée avec une collection de logiciels extrêmement utile et robuste, certains écrits en COBOL mais la plupart en BASIC. Deux consultants à plein temps ont entretenu et amélioré ce système en plus de 30 ans. Inutile de dire qu'ils prendront bientôt …
13 legacy 


5
* N'importe quelle * tâche de programme peut-elle être exprimée sans état?
C'est une question théorique, mais après de nombreuses années de programmation dans ce que je réalise maintenant comme une technique impérative "normale", utilisant principalement le C ++, j'ai découvert cet autre monde de programmation fonctionnelle, sur lequel je suis tombé par hasard tout en apprenant avec désinvolture JavaScript. Cela m'a …

4
Rails: Loi de la confusion de Demeter
Je lis un livre intitulé Rails AntiPatterns et ils parlent d'utiliser la délégation pour éviter d'enfreindre la loi de Demeter. Voici leur premier exemple: Ils croient qu'appeler quelque chose comme ça dans le contrôleur est mauvais (et je suis d'accord) @street = @invoice.customer.address.street La solution proposée consiste à procéder comme …

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.