Im vergangenen Jahr habe ich den Sprung gewagt und eine funktionale Programmiersprache (F #) gelernt. Eines der interessantesten Dinge, die ich gefunden habe, ist, wie sich dies auf die Art und Weise auswirkt, wie ich OO-Software entwerfe. Die beiden Dinge, die mir in OO-Sprachen am meisten fehlen, sind Mustervergleich und …
Ich erstelle eine wpf-Anwendung, die die folgenden Funktionen implementiert: Nehmen Sie Benutzereingaben und lesen Sie Daten aus Datenbanken Führen Sie einige Berechnungen durch Präsentieren Sie es dem Benutzer in mehreren Arten von Ansichten und schreiben Sie Änderungen zurück in db Vorgeschlagene Architektur: Datenbank -> Entity Framework -> Repository -> Geschäftslogik …
Ich lerne etwas über das Prinzip der Abhängigkeitsinversion. Es sagt, dass: High-Level-Module sollten nicht von Low-Level-Modulen abhängen. Beides sollte von Abstraktionen abhängen. Für eine Weile habe ich versucht zu verstehen, was es bedeutet, dass sowohl die Komponenten auf hoher Ebene als auch die Komponenten auf niedriger Ebene sich auf die …
Zuerst las ich einen Auszug aus Edsger W. Dijkstras 1974 erschienenem Artikel "Über die Rolle des wissenschaftlichen Denkens": Lassen Sie mich versuchen, Ihnen zu erklären, was nach meinem Geschmack für jedes intelligente Denken charakteristisch ist. Es ist so, dass man bereit ist, einen Aspekt seines Themas aus Gründen seiner eigenen …
Ich bin in eine Debatte zwischen ein paar Freunden und mir geraten. Sie bevorzugen allgemeine Ausnahmen wie ClientErrorExceptionund ServerErrorExceptionmit Details als Ausnahmefelder, während ich es vorziehe, die Dinge spezifischer zu gestalten. Zum Beispiel könnte ich eine Handvoll Ausnahmen haben wie: BadRequestException AuthenticationFailureException ProductNotFoundException Jedes dieser Elemente basiert auf dem von …
Ich schreibe viel Code, der drei grundlegende Schritte umfasst. Holen Sie sich Daten von irgendwoher. Transformiere diese Daten. Legen Sie diese Daten irgendwo ab. Normalerweise verwende ich drei Arten von Klassen - inspiriert von ihren jeweiligen Designmustern. Fabriken - um ein Objekt aus einer Ressource zu erstellen. Mediatoren - Um …
Ich habe eine Klassenhierarchie, für die ich die Schnittstelle von der Implementierung trennen möchte. Meine Lösung besteht darin, zwei Hierarchien zu haben: eine Handle-Klassenhierarchie für die Schnittstelle und eine nicht öffentliche Klassenhierarchie für die Implementierung. Die Basis-Handle-Klasse verfügt über einen Zeiger auf die Implementierung, den die abgeleiteten Handle-Klassen in einen …
Ich erstelle eine Schnittstelle in Java für die benutzerdefinierte Fehlerbehandlung. Ich möchte ein Argumentfehlerobjekt übergeben, aber ich brauche es, um ein Kind der ExceptionKlasse zu sein. Ist es in Ordnung, meinen definierten Klassennamen in einer Schnittstelle zu verwenden? Wird es nicht weniger zu einer Schnittstelle, da es nicht von einer …
Bei PPCG gibt es häufig King of the Hill- Herausforderungen, bei denen verschiedene Code-Bots gegeneinander antreten. Wir möchten diese Herausforderungen nicht auf eine einzige Sprache beschränken, daher führen wir plattformübergreifende Kommunikation über Standard-E / A durch. Mein Ziel ist es, ein Framework zu schreiben, mit dem Herausforderer diese Herausforderungen leichter …
Es gibt einen Teil unserer Codebasis, der im folgenden Stil geschrieben ist: // IScheduledTask.cs public interface IScheduledTask { string TaskName { get; set; } int TaskPriority { get; set; } List<IScheduledTask> Subtasks { get; set; } // ... several more properties in this vein } // ScheduledTaskImpl.cs public class ScheduledTaskImpl …
Aus agiler Softwareentwicklung, Prinzipien, Mustern und Praktiken: Pearson New International Edition : Manchmal überschneiden sich die von verschiedenen Gruppen von Clients aufgerufenen Methoden. Wenn die Überlappung gering ist, sollten die Schnittstellen für die Gruppen getrennt bleiben. Die gemeinsamen Funktionen sollten in allen überlappenden Schnittstellen deklariert werden. Die Serverklasse erbt die …
Ja, Diagramme können manchmal unangemessen sein. Wann sind sie unangemessen? Wenn Sie sie ohne Code erstellen, um sie zu validieren, und dann beabsichtigen, ihnen zu folgen. Es ist nichts Falsches daran, ein Diagramm zu zeichnen, um eine Idee zu untersuchen. Agile Softwareentwicklung: Prinzipien, Muster und Praktiken - Robert C. Martin …
Ich habe dieses Wiki über das Stable Abstractions Principle (SAP) gelesen . Die SAP gibt an, dass ein Paket umso abstrakter sein sollte, je stabiler es ist. Dies bedeutet, dass ein Paket, das weniger stabil ist (sich eher ändert), konkreter sein sollte. Was ich nicht wirklich verstehe, ist, warum dies …
Angenommen, Sie haben eine Art Datenstruktur, die in einer Art Datenbank beibehalten wird. Nennen wir diese Datenstruktur der Einfachheit halber Person. Sie müssen nun eine CRUD-API entwerfen, mit der andere Anwendungen Persons erstellen, lesen, aktualisieren und löschen können . Nehmen wir zur Vereinfachung an, dass auf diese API über eine …
Ich schreibe eine C ++ - Anwendung. Die meisten Anwendungen lesen und schreiben Daten , und dies ist keine Ausnahme. Ich habe ein übergeordnetes Design für das Datenmodell und die Serialisierungslogik erstellt. Diese Frage erfordert eine Überprüfung meines Designs unter Berücksichtigung dieser spezifischen Ziele: Einfache und flexible Möglichkeit zum Lesen …
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.