Wünschenswerte Designmerkmale
2024-10-22 16:20:22 0 Bericht
Anmelden, um den vollständigen Inhalt anzuzeigen
Andere Kreationen des Autors
Gliederung/Inhalt
Minimierung der Komplexität
Das Hauptziel des Designs sollte die Minimierung der Komplexität sein. Vermeiden Sie "kluge" Designs. Kluge Designs sind in der Regel schwer zu verstehen. Im Gegenteil, machen Sie "einfache" und "leicht verständliche" Designs. Wenn Ihr Design es Ihnen nicht ermöglicht, die meisten anderen Teile des Programms bei einer intensiven Beschäftigung mit einem bestimmten Teil sicher zu ignorieren, dann erfüllt Ihr Design seinen Zweck nicht.
wartungsfreundlich
Die Wartbarkeit bedeutet, für den Wartungsprogrammierer zu entwerfen. Ständig die Fragen vorausdenken, die der Wartungsprogrammierer Ihrem Code stellen wird. Den Wartungsprogrammierer als Ihr Publikum betrachten und dann das System so entwerfen, dass es selbstverständlich ist.
Minimale Verbindlichkeit
Die minimale Verbindlichkeit bedeutet, dass bei der Gestaltung die Verbindungen zwischen den verschiedenen Teilen des Programms auf ein Minimum reduziert werden. Prinzipien wie starke Kohäsion, lose Kopplung und Informationsversteckung werden verwendet, um Klassen mit so wenigen Verbindungen wie möglich zu entwerfen. Die minimale Verbindung minimiert die Arbeit während der Integration, Tests und Wartung.
Wiederverwendbarkeit
Reusability bedeutet, dass Sie beim Entwerfen eines Systems dessen Teile in anderen Systemen wiederverwenden können.
Lean
Lean bezieht sich darauf, ein Designsystem so zu gestalten, dass es keine überflüssigen Teile hat (Wirth, 1995; McConnell, 1997). Voltaire sagte einmal, dass ein Buch fertig ist, weil nichts mehr hinzugefügt werden kann, sondern weil nichts mehr weggenommen werden kann. Das gilt insbesondere für Software, da zusätzlicher Code entwickelt, überprüft, getestet und berücksichtigt werden muss, wenn andere Codeänderungen vorgenommen werden. Die zukünftigen Versionen der Software müssen mit dem zusätzlichen Code rückwärtskompatibel sein.
Standardisierung
Ein System, das je stärker von externen Komponenten abhängt, ist für jemanden, der es zum ersten Mal verstehen möchte, desto beängstigender. Versuchen Sie, standardisierte allgemeine Methoden zu verwenden, um dem gesamten System ein vertrautes Gefühl zu verleihen.
Erweiterbarkeit
Erweiterbarkeit bedeutet, dass Sie das System erweitern können, ohne die zugrunde liegende Struktur zu zerstören. Sie können einen Teil des Systems ändern, ohne andere Teile des Systems zu beeinträchtigen. Die wahrscheinlichsten Veränderungen verursachen das System am wenigsten.
Hochfächerung
Hohe Fan-In bedeutet, dass eine Klasse von vielen anderen Klassen verwendet wird. Hohe Fan-In bedeutet, dass ein System in Bezug auf die Nutzung niedrigerer Ebenen in der Systemarchitektur gut konzipiert ist.
Mittlere bis niedrige Fan-Out
Mittlere bis niedrige Fan-Out bezieht sich darauf, dass eine Klasse nur eine mittlere bis niedrige Anzahl anderer Klassen verwendet. Hoch-Fan-Out (mehr als etwa 7) bedeutet, dass eine Klasse eine große Anzahl anderer Klassen verwendet und daher möglicherweise zu komplex ist. Forscher haben festgestellt, dass unabhängig davon, ob die Anzahl der innerhalb eines Verfahrens aufgerufenen Verfahren oder die Anzahl der innerhalb einer Klasse aufgerufenen Verfahren betrachtet wird, das Prinzip des niedrigen Fan-Outs vorteilhaft ist.
Portabilität
Portabilität bedeutet, dass die Systemarchitektur so gestaltet ist, dass sie leicht in eine andere Umgebung übertragen werden kann.
Schichten-Design
Eine gestufte Design bedeutet, dass Sie die Aufteilung in Ebenen so weit wie möglich beibehalten, damit Sie das System auf jeder Ebene betrachten und eine konsistente Sicht erhalten können. Beim Entwerfen eines Systems können Sie auf einer Ebene betrachten, ohne in andere Ebenen einzutauchen.
Sammeln
Sammeln
Sammeln
0 Kommentare
Nächste Seite
Empfohlen für Sie
Mehr anzeigen