Als «design» getaggte Fragen

Fragen zur Problemlösung und Planung einer Lösung durch Software-Design.

3
Summentypen vs Polymorphismus
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 …

3
Ist es in Ordnung, ein Entity Framework DataContext-Objekt zu erstellen und es in jeder meiner CRUD-Methoden in einem using-Block zu entsorgen?
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 …
10 c#  design  architecture  wpf 

2
Prinzip der Abhängigkeitsinversion: Verstehen, wie sowohl Komponenten auf niedriger als auch auf hoher Ebene von Abstraktionen abhängen
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 …

6
Wollte Dijkstra eine Modularisierung des Codes, als er über die Trennung von Bedenken schrieb?
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 …

2
Granularität von Ausnahmen
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 …

7
Mache ich meinen Unterricht zu detailliert? Wie soll das Prinzip der Einzelverantwortung angewendet werden?
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 …

2
Ist dies ein guter Ansatz für eine "pImpl" -basierte Klassenhierarchie in C ++?
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 …
9 design  c++  c++11 


1
Code Design: Delegation beliebiger Funktionen
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 …


2
Prinzip der Schnittstellentrennung: Was tun, wenn sich die Schnittstellen erheblich überschneiden?
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 …




1
Überprüfung des C ++ - Serialisierungsdesigns
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 …
9 design  c++  c++11 

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.