Autor Beitrag
Yankyy02
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 138
Erhaltene Danke: 21

Win 11 x64
C# (VS 2022 - Rider)
BeitragVerfasst: So 26.01.14 20:54 
Hallo @ all,

hätte da ne Frage zur Erstellung von Klassen. Ich habe eine Klasse Film. Ein Film besteht ja bekanntlich aus mehreren Elementen (Darsteller, Filtitel, Beschreibung, Kategorie usw.).
Nun Frage ich mich ob es sinnvoll ist zb. für die Darsteller und/oder für das Genre eine eigene Klasse zu erstellen oder alles in eine zusammen zupacken?

Wie würde so etwas "Kommerziell" gelöst werden?

Danke für eure Antworten.

MfG
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: So 26.01.14 22:51 
Zitat:
Wie würde so etwas "Kommerziell" gelöst werden?


Schlecht gefragt, möchtest du wirklich eine ~kommerzielle~ Lösung oder doch nicht lieber eine gute :wink:
Wie auch immer. Üblicherweise fängt man mit einem Problem an und überlegt sich dazu ein diese Probleme lösendes Klassenmodell aus. Du fängst aber direkt mit einem Teilmodell an ohne das du/wir wissen welches Problem es denn zu lösen gilt. Ohne Problem ist jedes Modell gleich gut/schlecht und ~kommerziell würde das natürlich ausgenutzt werden. Aka der Azubi würfelt was aus oder so.

Von deiner Beschreibung her entnehme ich das du eher mehr über ein Datenmodell nachdenkst als über ein Klassenmodell. Das halte ich persönlich für einen guten Ansatz. Üblicherweise leben Daten länger als die erste Anwendung die mit diesen Daten umgeht. Mit einem Modell arbeiten zu müssen das bei der ursprünglich designten Anwendung toll war weil es in der damals gewählten Sprache/Framework einfach umzusetzen war ist allzu oft ein riesen Stolperstein in späteren Lebensphasen der Anwendung bzw. genauer der Daten.
Wenn du also dein Modell von den Daten her denkst und nicht von den Aktionen die du daran ausführst dann frage dich ob die Elemente die du dir gerade ausgedacht hast in Zukunft mehr Details haben werden. Ist für einen Darsteller in Zukunft vorstellbar das du mehr als den Namen wissen möchtest? Hat ein Filmtitel noch mehr Informationen als den Filmtitel? Hängen mehr Daten an der Beschreibung, Kategorie etc.

Im 2.ten Schritt frage dich dann wie die Elemente in Beziehung stehen (und indirekt welche Aktionen man auf diesem Modell ausführen möchte). Aka hat ein Film eine Kategorie oder mehrere, hat ein Darsteller auch eine/mehrere Kategorien (Schauspieler haben ja meist Präferenzen), gibt es unterschiedliche Filme mit gleichem Filmtitel die ich unterscheiden muss u.s.w.
Nach der Ermittlung des Datenmodell kannst du dich dann den Fragestellungen widmen wie das am geschicktesten in ein Klassenmodell überführt werden kann. Also so Fragestellungen ob die Kategorie ein
Attribut von Film ist oder ob das vielleicht besser durch Polymorphie zu lösen ist(Aktionfilm als Ableitung von Film).

Zum Schluss (eventuell im Rahmen einer Prototypenimplementierung) frage dich welche Probleme sind die mit dem Modell primär zu lösenden Probleme sind die vernünftig durchführbar oder muss man eventuell das Modell noch dahingehen optimieren. Auch wenn sekundäre Probleme dann schwieriger/weniger performant zu lösen sind.

Für diesen Beitrag haben gedankt: Yankyy02
Yankyy02 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 138
Erhaltene Danke: 21

Win 11 x64
C# (VS 2022 - Rider)
BeitragVerfasst: So 26.01.14 23:18 
Hey danke für deine ausführliche Beschreibung!

Nein wird natürlich keine Kommerzielle Anwendung aber als Hobby Programmierer hat man da keinen Einblick wie das so in den Software-Schmieden gemacht wird.

Ich werd mir das ganze nochmal durch den Kopf gehen lassen und DANKE nochmal für deinen Beitrag.


MfG