Als «design» getaggte Fragen

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

4
Gibt es einen Unterschied zwischen einer Komponente und einem Modul?
Ich habe ein kleines Problem mit den Begriffen Modul und Komponente. In meinen Augen handelt es sich bei einem Modul um gebündelte Klassen, die nur über eine genau definierte Schnittstelle zugänglich sind. Sie verbergen alle Implementierungsdetails und sind wiederverwendbar. Module definieren Module, von denen sie abhängen. Was ist der Unterschied …


6
Können Sie eine objektorientierte Programmierung ohne das Schlüsselwort class implementieren?
Angenommen, wir möchten eine Abstraktion eines "Kontos" in einer Bank bereitstellen. Hier ist ein Ansatz, bei dem ein functionObjekt in Python verwendet wird: def account(): """Return a dispatch dictionary representing a bank account. >>> a = account() >>> a['deposit'](100) 100 >>> a['withdraw'](90) 10 >>> a['withdraw'](90) 'Insufficient funds' >>> a['balance'] 10 …

6
Grundlegendes zum Programmieren an einer Schnittstelle
Ich bin oft auf den Begriff "Programmieren auf eine Schnittstelle anstatt auf eine Implementierung" gestoßen, und ich denke, ich verstehe irgendwie, was das bedeutet. Aber ich möchte sicherstellen, dass ich die Vorteile und möglichen Implementierungen verstehe. "Programmieren auf eine Schnittstelle" bedeutet, dass man sich, wenn möglich, auf eine abstraktere Ebene …



12
Wie groß ist eine Klasse?
Ich bin ein langjähriger Entwickler (ich bin 49), aber eher neu in der objektorientierten Entwicklung. Ich lese seit Bertrand Meyers Eiffel über OO, aber ich habe wirklich wenig über OO programmiert. Der Punkt ist, dass jedes Buch über OO-Design mit einem Beispiel für ein Boot, ein Auto oder ein beliebiges …

3
DDD-Repositorys im Anwendungs- oder Domänendienst
Ich lerne derzeit DDD und habe einige Fragen zum Verwalten von Repositorys mit DDD. Eigentlich habe ich zwei Möglichkeiten getroffen: Erster Die erste Möglichkeit zum Verwalten von Diensten, die ich gelesen habe, besteht darin, einem Anwendungsdienst ein Repository und ein Domänenmodell hinzuzufügen. Auf diese Weise rufen wir in einer der …


6
Gibt es ein Entwurfsmuster, mit dem Sie nicht mehr nach Flags suchen müssen?
Ich werde einige Zeichenfolgen-Nutzdaten in der Datenbank speichern. Ich habe zwei globale Konfigurationen: Verschlüsselung Kompression Diese können über die Konfiguration so aktiviert oder deaktiviert werden, dass entweder nur einer von ihnen aktiviert ist, beide aktiviert sind oder beide deaktiviert sind. Meine aktuelle Implementierung ist folgende: if (encryptionEnable && !compressEnable) { …

2
Gibt es ein Anti-Pattern für historisch gewachsene Software? [geschlossen]
Gibt es ein Anti-Pattern, das ein historisch gewachsenes Softwaresystem beschreibt, bei dem mehrere Entwickler dem System gerade neue Funktionen hinzugefügt haben, aber niemand wirklich ein Auge auf die Gesamtarchitektur hat und auch keine Umgestaltungen vorgenommen wurden? Ich denke, dies passiert, wenn das Management / der Kunde ständig nach neuen Funktionen …



10
Einfache vs. komplexe (aber leistungseffiziente) Lösung - welche wählen Sie wann?
Ich programmiere seit ein paar Jahren und bin oft in ein Dilemma geraten. Es gibt zwei Lösungen - Einer ist einfach, dh einfacher Ansatz, einfacher zu verstehen und zu pflegen. Dies erfordert Redundanz und zusätzlichen Arbeitsaufwand (zusätzliche E / A, zusätzliche Verarbeitung) und ist daher nicht die optimalste Lösung. Andere …

6
Objektorientierte „Normalisierung“
Bei der Datenbankprogrammierung gibt es eine Technik namens "Normalisierung", die Sie mit den Daten durchführen, die Sie speichern möchten. Hat jemand versucht, dieses Konzept auf das Objektdesign anzuwenden? Wie hast du? Wie ist es gelaufen? Bearbeiten: Zum Erweitern / Verdeutlichen ist die Datenbanknormalisierung mehr als eine Reihe von Prinzipien zur …
28 design 

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.