object-oriented-analysis

___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ qstnhdr ___ Wie kapselt man eine Eigenschaft in einer Basisklasse? ___ tag123uml ___ Unified Modeling Language, eine Objektmodellierungs- und Spezifikationssprache, die im Software-Engineering verwendet wird. ___ tag123design ___ Design in der Programmierung ist der Akt, bestimmte Entscheidungen darüber zu treffen, wie man ein Programm am besten strukturiert, um Ziele der Zuverlässigkeit, Wartbarkeit, Korrektheit oder Benutzerfreundlichkeit zu erreichen. ___ qstntxt ___

In meinem Szenario geht es um die Entwicklung von mathematischen Problemen. Als %code% interface dachte ich, dass die zwei Haupteigenschaften, die es enthalten sollte, %code% und %code% sind. %code% ist immer eine Zeichenkette, aber %code% kann manchmal ein komplexes Objekt (eine benutzerdefinierte %code% struc) oder ein anderer Datentyp wie string, dezimal, int, usw. sein.

%Vor%

Wie Sie sehen können, ist %code% ein Objekt. Ich vermutete diesen Datentyp, weil alle Probleme von Natur aus eine Antwort haben. Und da es ein Objekt ist, definiere ich nur get für zukünftige Fehler (Casting-Probleme).

Meine Idee ist später, in einer konkreten Klasse auf diese Eigenschaft zuzugreifen ( %code% ), ohne die Notwendigkeit, zu wirken. Schau es dir an?

%Vor%

Und hier teste ich den Wert.

%Vor%

Bis jetzt funktioniert es, aber ich möchte wissen, ob das, was ich tue, richtig oder eine gute Übung ist. Ich habe gesehen, dass andere Leute den Operator %code% verwenden, um dies zu tun. Andere verwenden nicht das Wort %code% .

Ist das ein guter Weg? Kann es zukünftige Fehler verursachen? Bitte geben Sie mir eine Rückmeldung über mein Design.

EDIT: Es ist wirklich notwendig, auf die Antwort in einer nicht-generischen Schnittstelle zuzugreifen.

    
___ answer10238538 ___

Vielleicht suchen Sie so etwas? Beachten Sie, dass ich einige Dinge weggelassen habe, weil sie für den generischen Lösungsteil des Problems (wie QuestionText) nicht wichtig waren. Ich habe auch die Basisklasse weggelassen, weil sie nichts weiter als ein Durchgang und eine zusätzliche, unnötige Schicht zu sein schien. Das ist vielleicht nicht genau das, wonach Sie suchen, aber ich hoffe, es hilft Ihnen dabei.

Zuerst wird so alles verwendet:
Bearbeiten: Beachten Sie, wie sie jetzt alle als nicht-generisches IP-Problem behandelt werden können.

%Vor%

Bearbeiten: Hier ist die nicht-generische Schnittstelle, so dass viele Probleme in einer Liste verwendet und auf die gleiche Weise behandelt werden können:

%Vor%

Hier ist die Schnittstelle:
Bearbeiten: Beachten Sie, dass dies jetzt die nicht-generische Schnittstelle implementiert.

%Vor%

Und hier sind die Klassen:
Bearbeiten: Beachten Sie die neuen Methoden GetResponse ().

%Vor%     
___ tag123oop ___ Objektorientierte Programmierung ist ein Programmierparadigma, das "Objekte" verwendet: Datenstrukturen, die aus Datenfeldern und Methoden zusammen mit ihren Interaktionen bestehen. ___ tag123objektorientierteAnalyse ___ Objektorientierte Analyse (Object Oriented Analysis, OOA) ist der erste Ansatz zur Lösung eines Problems - das Entwerfen eines konzeptionellen Modells als vorgeschlagene Lösung basierend auf einer Reihe von Anforderungen. ___
0
Antworten

Welches Designmuster eignet sich für die Android-Anwendungsentwicklung [geschlossen]

Design Patterns repräsentieren die Best Practices, die von erfahrenen objektorientierten Softwareentwicklern verwendet werden. Entwurfsmuster sind Lösungen für allgemeine Probleme, mit denen Softwareentwickler während der Softwareentwicklung k...
19.05.2014, 06:56
4
Antworten

Unterschiede zwischen Strategie und Vererbung

Es gibt dasselbe Konzept für Strategy Pattern und Inheritance , also kann ich Strategy Pattern mit Inheritance implementieren, das klingt, dass es einfacher und sauberer ist als Strategy Pattern . Startegy Pattern : %Vor%...
07.09.2014, 12:42
6
Antworten

Bewährte Methode zum Implementieren einer abgeleiteten Methode, die nicht aufgerufen werden sollte [closed]

Ich habe eine JAVA-Klasse A, die eine Methode foo hat %Vor% Ich habe auch eine abgeleitete Klasse von A - MutableA. MutableA ist ein Singleton-Objekt, das angibt, dass keine Aktualisierung erforderlich ist, die für die Wiederverwendung von C...
16.02.2015, 09:51
2
Antworten

Was ist "zusammengesetztes Muster"?

Könnte jemand bitte ein Composite Design Pattern erklären und ein echtes Live-Beispiel geben?     
30.01.2011, 13:12
1
Antwort

Wie kapselt man eine Eigenschaft in einer Basisklasse?

In meinem Szenario geht es um die Entwicklung von mathematischen Problemen. Als IProblem interface dachte ich, dass die zwei Haupteigenschaften, die es enthalten sollte, QuestionText und Response sind. QuestionText ist immer eine Ze...
19.04.2012, 21:26