Softwareentwicklung

Fragen und Antworten für Fachleute, Akademiker und Studenten, die im Lebenszyklus der Systementwicklung arbeiten

2
Warum trennen Sie die Klasse CommandHandler mit Handle (), anstatt die Methode in Command selbst zu behandeln?
Ich habe einen Teil des CQRS-Musters mit der folgenden S # arp-Architektur implementiert : 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 CommandResult.Success; } } …

5
Wie simuliere ich eine REST-API?
Ich arbeite an einem neuen Projekt, das Daten von einer REST-API eines Drittanbieters abfragt. Dies ist für einen Echtzeit-Sportdaten-Feed gedacht, sodass der Feed nur funktioniert, wenn tatsächlich ein Spiel stattfindet. Obwohl die Drittanbieter eine gute Dokumentation (XSD usw.) bereitstellen, haben sie keine Möglichkeit, ein Spielgeschehen zu simulieren. Um den Code …
13 api  rest 


2
Werden Typen in Haskell gelöscht?
Haskell hat eine Vorstellung von "generischen Funktionen", die eine gewisse Ähnlichkeit mit gewöhnlichem Lispeln aufweist - da ich weder Erfahrung mit Haskell noch mit gewöhnlichem Lispeln habe, könnte ich hier sehr ungefähr sein. Dies bedeutet, dass man eine generische to_stringEinrichtung definieren kann, um eine Zeichenfolgendarstellung für alle Typen zu definieren. …

6
Vertragsprogrammierung vs Unit Test
Ich bin ein etwas defensiver Programmierer und ein großer Fan von Microsoft Code Contracts. Jetzt kann ich nicht immer C # verwenden und in den meisten Sprachen habe ich nur noch Assertions. So lande ich normalerweise mit folgendem Code: class { function() { checkInvariants(); assert(/* requirement */); try { /* …

2
Implementieren Sie die Haskell-Typenklasse mit der C # -Schnittstelle
Ich versuche, Haskells Typklassen und C # -Schnittstellen zu vergleichen. Angenommen, es gibt eine Functor. Haskell: class Functor f where fmap :: (a -> b) -> f a -> f b Wie implementiere ich diese Typklasse als Schnittstelle in C #? Was ich ausprobiert habe: interface Functor<A, B> { F<B> …
13 c#  haskell 


6
Welche funktionalen Merkmale sind für die Vorteile, die sie mit sich bringen, eine kleine OOP-Verwirrung wert?
Nach dem Erlernen der funktionalen Programmierung in Haskell und F # scheint das OOP-Paradigma mit Klassen, Schnittstellen und Objekten rückständig zu sein. Welche Aspekte von FP kann ich zur Arbeit bringen, die meine Mitarbeiter verstehen können? Lohnt es sich, mit meinem Chef über die Umschulung meines Teams zu sprechen, damit …


6
Wie übe ich objektorientiertes Programmieren? [geschlossen]
Geschlossen . Diese Frage ist meinungsbasiert . Derzeit werden keine Antworten akzeptiert. Geschlossen vor 6 Jahren . Verschlossen . Diese Frage und ihre Antworten sind gesperrt, da die Frage nicht zum Thema gehört, aber von historischer Bedeutung ist. Derzeit werden keine neuen Antworten oder Interaktionen akzeptiert. Ich habe immer in …

4
Ist Linq effizienter als es auf der Oberfläche erscheint?
Wenn ich so etwas schreibe: var things = mythings .Where(x => x.IsSomeValue) .Where(y => y.IsSomeOtherValue) Ist das dasselbe wie: 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); Oder gibt es etwas Magie unter der Decke, die …
13 c#  linq 

3
Stehen wir in der Warteschlange und serialisieren wir ordnungsgemäß?
Wir verarbeiten Nachrichten über eine Vielzahl von Diensten (eine Nachricht wird wahrscheinlich 9 Dienste berühren, bevor sie erledigt sind, von denen jeder eine bestimmte E / A-bezogene Funktion ausführt). Im Moment haben wir eine Kombination aus Worst-Case (XML-Datenvertragsserialisierung) und Best-Case (In-Memory-MSMQ) für die Leistung. Die Art der Nachricht bedeutet, dass …


4
Rails: Gesetz der Demeter-Verwirrung
Ich lese ein Buch mit dem Titel Rails AntiPatterns und sie sprechen über die Verwendung von Delegationen, um das Gesetz von Demeter nicht zu brechen. Hier ist ihr Paradebeispiel: Sie glauben, dass es schlecht ist, so etwas im Controller aufzurufen (und ich stimme zu) @street = @invoice.customer.address.street Ihre vorgeschlagene Lösung …


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.