Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Klassendesign mit ObservableCollection
echdeneth
myCSharp.de - Member



Dabei seit:
Beiträge: 148
Herkunft: Sachsen, Herrnhut/Zittau

Themenstarter:

Klassendesign mit ObservableCollection

beantworten | zitieren | melden

Moin,

auf die Gefahr hin hier nicht am richtigen Ort zu sein...

Ich muss an einem Klassendiagramm arbeiten, die Grundlegenden Mechaniken sind soweit geläufig, die Praxis fehlt mir aber.

EIne der Klassen enthält eine ObservableCollecion.
Nun bin ich mit nbicht sicher wie und ob ich den Datentyp und die Beziehung der OC richtig darstelle.

public ObservableCollection<Innentür> innentuerliste { get; set; }
Warenkorb enthält eine Auflistung von Türen

public ObservableCollection<Dekor> dekor{ get; set; }
Eine Tür enthält ein Dekor aus der OC (auch wenn ich darüber noch mal nachdenken muss...)
Es sollen Dekore ausgelesen werden und eines davon in der Klasse Innentür neu instanziert, in etwa...


Ich hoffe meine Anfrage war verständig.
Habe ich das richtig gemacht?

Danke.
Attachments
"Man muß die Dinge so einfach wie möglich machen. Aber nicht einfacher." Albert Einstein
private Nachricht | Beiträge des Benutzers
JimStark
myCSharp.de - Member

Avatar #dOpLzh7hN1az1g0eGRc0.jpg


Dabei seit:
Beiträge: 225

beantworten | zitieren | melden


Bei VS2019 Professional gibt es übrigens den Klassen-Designer der deine Klassen visualisieren kann, falls du die Version hast.
Deine Feldernamen sehen ehr nach Java aus. Public Felder und Methoden schreibt man eigentlich groß in C# und private klein oder mit "_". https://docs.microsoft.com/de-de/dotnet/standard/design-guidelines/

Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von JimStark am .
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15618
Herkunft: BW

beantworten | zitieren | melden

Aus persönlichem Interesse: ich muss sagen, dass ich seit > 10 Jahren keine sinnvolle Anforderung / Begründung für ein Klassendesign / UML mehr gesehen habe (gerne kann man mal nach verschiedenen Thesen Rund um die Sinnhaftigkeit von UML googlen). Ich versuche aktiv jeden Kunden von UML wegzubewegen; nicht ein Kunde konnte mir bislang mehr Anforderung an ein Diagramm nennen als "Macht man doch immer, oder nicht?".
Ist das eine Übungsaufgabe oder habt ihr irgendeine interne/Zertifikatsbasierte Regelung von aka 1995, die ein Klassendesign erfordert?

Zur Frage: Basis UML Tools unterstützen keine Generics.
Auch steht oft die Frage im Raum, ob eine spezifische Angabe (hier ObservableCollection) in das UML gehört oder nicht.
Die meisten, die ich sehe, verwenden nur "Array<T>" um sowas darzustellen.

PS: ja, sieht für mich auch extrem nach Java aus und weit weg vom C# Guide bzw. sogar etwas weg von modernem OOP (Eine zB. Absenden() Aktion in einem Business Objekt "Angebot" ist eher kein gutes, modernes OOP Design).
private Nachricht | Beiträge des Benutzers
echdeneth
myCSharp.de - Member



Dabei seit:
Beiträge: 148
Herkunft: Sachsen, Herrnhut/Zittau

Themenstarter:

beantworten | zitieren | melden

Zitat von JimStark

Deine Feldernamen sehen ehr nach Java aus
Wurde mit Dia 0.97.2 erstellt, deiner Bemerkung folgend, darf ich annehmen, dass meine Wahl hinsichtlich der Zeichensoftware falsch war.

"Man muß die Dinge so einfach wie möglich machen. Aber nicht einfacher." Albert Einstein
private Nachricht | Beiträge des Benutzers
echdeneth
myCSharp.de - Member



Dabei seit:
Beiträge: 148
Herkunft: Sachsen, Herrnhut/Zittau

Themenstarter:

beantworten | zitieren | melden

(VS19/C#) Ist in Dia erstellt, für mein Prüfungsprojekt
"Man muß die Dinge so einfach wie möglich machen. Aber nicht einfacher." Albert Einstein
private Nachricht | Beiträge des Benutzers
echdeneth
myCSharp.de - Member



Dabei seit:
Beiträge: 148
Herkunft: Sachsen, Herrnhut/Zittau

Themenstarter:

beantworten | zitieren | melden

Zitat von Abt
(Eine zB. Absenden() Aktion in einem Business Objekt "Angebot" ist eher kein gutes, modernes OOP Design).

Sorry, ich bin die Arbeit mit Klassendiagrammen nicht gewohnt...
Ist ja auch nur eine erste Fassung.
"Man muß die Dinge so einfach wie möglich machen. Aber nicht einfacher." Albert Einstein
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15618
Herkunft: BW

beantworten | zitieren | melden

Ah Okay, also Schule/Studium. Ja, da sind viele Lehrer etc, die nicht mehr am Zahn der Zeit hängen, und UML sehen wollen.
Verstehe - muss man durch.

Wenn Du Dir von VS die UMLs erzeugen lassen kannst und nicht Dia verwenden musst, dann nimm VS.
Das machts Dir leichter und Du bist effizienter.

Add Class Diagrams to projects (Class Designer) - Visual Studio

PS: bitte schreib doch nicht für 3 Sätze 3 Beiträge in 5 Minuten.
Das passt doch alles auch ganz gut in einen Beitrag ;-)

Zitat von Abt
(Eine zB. Absenden() Aktion in einem Business Objekt "Angebot" ist eher kein gutes, modernes OOP Design).
Damit war weniger das OOP gemeint, sondern die Software Architektur.
Ich vermude aber, dass das in Deiner Projektarbeit nicht so wichtig ist; war also eher ein reiner Hinweis als eine Kritik.
private Nachricht | Beiträge des Benutzers
tomschrot
myCSharp.de - Member



Dabei seit:
Beiträge: 64
Herkunft: Herrsching a. A.

beantworten | zitieren | melden

Hallo echdeneth

Gemäß UML ist das nicht so wild (obwohl ich persönlich das etwas anders lösen würde, aber okay...).

Die ObserveableCollection ist ein fester Bestandteil der Warenkorb Klasse, und somit als NUR LESEND zu setzen!
Also


public readonly ObservableCollection<Innentür> innentuerliste = new (); *

*kommt drauf an welche C# Version ihr benutzt...

Dekor ist nach UML keine Liste sondern eine Eigenschaft. Das drückt die Zahl 1 am Pfeil aus, es ist nur 1 Element.

Fragt sich, ob Dekor als NULL zu interpretieren ist wenn nicht benötigt, oder leere Standardwerte (besser)?





./\_/\
.|> O|
.\=Y=/
..\0/
private Nachricht | Beiträge des Benutzers