Schlechtes Design?!
-
Hallo,
ich frag mich grad ob mein "Design" schlecht ist, da es evtl OO ausgelegt ist, obwohl C. Ich moechte Bilder verwalten. Dafuer habe ich mir jetzt ein Modul (also eine C-Datei, nennt man Modul, oder?) erstellt und dort eine statisches Array erstellt und jeder Eintrag neinhaltet eine Referenz auf ein Struct mit Bilddaten. Moechte ich nun mit einem Bild arbeiten, z.B. mit dem dritten Bild habe ich mir in der C Datei eine Funktion geschrieben "struct bilddaten GetImageAtArrayPos(int pos)" pos=3. Da bekommt man dann ein struct zurueck... und damit kann man dann arbeiten, z.B. anzeigen oder filtern. Und ausserdem hab ich noch die eine oder Get/Set Funktion um die Bilddaten zu bearbeiten....
Also Datei ArbeiteMitBild.c ruft in der Datei BildLib.c die Funktion "GetImageAtArrayPos(int pos)" auf um dann mit dem Bild zu arbeiten... hoffe es ist klar was ich ausdruecken moechte.
Wuerde mich ueber ein paar Kommentare freuen. Bin noch stark in OO programmierung drin...
Danke!
-
Nur weil ein design objekte berücksichtigt, ist es doch nicht schlecht.
Meines Erachtens ist eher das Gegenteil der Fall.
was du tun solltest, ist das bild selber als Parameter übergeben und nciht statisch irgendwo hin zu pappen..Allerdings kann ich das nicht so genau sagen, da du ja keinen code postest..
-
Hi!
Ich würde das Array auch nicht statisch machen, sondern in der main anlegen, oder in deinem Modul eine initfuktion anlegen, die dir eine Struktur zurückgibt.
Ausserdem würd ich das ganze nicht in einem Array verwalten, sondern eher eine doppelt verkettete Liste verwenden.mfg bauerb
-
JoachminC schrieb:
Wuerde mich ueber ein paar Kommentare freuen. Bin noch stark in OO programmierung drin...
naja, bilder als objekte zu betracheten ist erstmal nicht verkehrt. aber deinen ausführungen zufolge scheint das programm nicht allzu komplex zu sein, so dass eine sprache, die OOP unterstützt, kein grosser gewinn wäre.
obwohl...welchen grund hast du denn, das in C zu machen.
-
ob das design generell schlecht ist, kann man nicht so ohne weiteres sagen, ohne die genaueren hintergründe/funktionen deines moduls zu kennen.
das es auf 3 bilddateien beschränkt ist, kommt mir etwas spanisch vor. daher tippe ich blind auf ein schlechtes design, denn generell ist es möglich, beliebig viele ( solange speicher verfügbar ) bilddateien zu bearbeiten.