hi,
das ist doch schon etwas konkreter
Und ob ich open Source schreibe oder Kommerziell!? Uff... da habe ich mir noch NIE gedanken drüber gemacht!
Ok, die Frage ist auch im Grunde nur relevant, wenn es dir um das Projekt Management an sich gegangen waere. Da geht es dann mehr um den ganzen Entwicklungs Prozess an sich: wann sollte man mit welchem Teil der Planung beginnen, wie sollte der Kunde in das Projekt und die Planung eingebunden werden damit es erfolgreich wird, was muss fuer die Qualitaetskontrolle getan werden, usw. usf.
Aber da es dir, wie ich schon vermutete, mehr um die Software Architektur geht, ist die Frage fuer dich wohl erstmal nicht relevant. Das wird sie dann wohl erst, wenn du tatsaechlich mal an einem groesseren Projekt in einem Team arbeitest
UML ist wohl jetzt erstmal dann bestimmt sinnvoller da es sich ja um die OO Planung geht oder sehe ich das falsch?
Jain, also UML ist ja nur die Sprache mit der du das OO Design aufschreiben kannst. D.h. es gibt Buecher die sich tatsaechlich nur mit der Beschreibung von UML befassen, was dir so direkt nichts bringt wenn du die OO Konzepte noch nicht kennst.
Aber es gibt auch Buecher, die beides Gleichzeitig behandeln, z.B. "Fundamentals of Object-Oriented Design in UML" von Meilir Page-Jones. Das Buch ist aber soweit ich weiss schon laenger out of print, aber immer noch gebraucht ueber z.B. ebay oder Amazon zu bekommen. Das Buch war Grundlage fuer meinen Uni Kurs 'Object Oriented Modelling', aber entsprechend theorielastig ist das Buch.
Wenn du willst kann ich dir die slides von dem Kurs als pdf schicken, die auf dem oben genannten Buch aufbauen (gepackt als tar.gz rund 200kb). Die Informationen darauf sind allerdings ebenfalls sehr dicht, und streckenweise alles andere als leicht verstaendlich, akademisches Material halt. Das wuerde ich nicht unbedingt als Bett Lektuere empfehlen.
Also falls du sie haben willst, schick mir einfach eine PM mit deiner email Adresse.
Wenn du eine seichte Einfuehrung in das Thema suchst, wuerde ich eher das Head First Buch von O'Reilly empfehlen, auch wenn ich das selbst (noch) nicht gelesen habe.
Was mich halt auch einfach noch so interessieren würde ist: "Wie arbeitet man am besten mit selbst gebastelten Headern & Co.?".
Ahso, das ist dann ja schon wieder eine stark C++ spezifische Frage. Ich selber habe noch nie ein groesseres Projekt in C++ geschrieben, und habe daher in der Hinsicht auch keine Empfehlungen.
Achja, aber was du vielleicht mal tun koenntest, ist dir ein bekanntes Open Source Projekt zu nehmen, z.B. Pidgin, und da mal ein wenig im Source Code stoebern und schauen wie die alles aufgebaut haben.
Allerdings wuerde ich dann schon darauf achten dass es ein bekanntes Projekt ist, denn bei kleinen Projekten kann es dir passieren dass da auch ziemlicher Mist im Code steht der nicht unbedingt nachahmenswert ist.
Ich vermute mal das ich hier gerade bestimmt voll den Schrott schreibe und ihr Erfahrenen euch gerade kapput lacht^^
Och, jeder hat mal klein Angefangen, ich glaube nicht dass hier irgendjemand lacht. Ausserdem, wie gesagt, mit C++ kenn ich mich selber nicht aus
Aber in Java z.B. ist das so, dass du fuer jede Klasse eine eigene Datei anlegen musst, d.h. solche Ueberlegungen musste ich noch nie anstellen. Soweit ich weiss ist das in C++ nicht so strikt geregelt, aber prinzipiell halte ich das fuer keine schlechte Strukturierung.
Aber es ist auch richtig, dass dir gutes OO Design dabei hilft zu entscheiden welche Funktion du am besten in welche Klasse steckst, oder wofuer du vielleicht doch lieber eine neue Klasse schreibst, etc.
Achja, nochmal was zu den Tools. Solltest du tatsaechlich vorhaben in naechster Zeit mal ein kleines Projekt mit sagen wir mal mehr als 1000 Zeilen Source Code anzufangen, wuerde ich sagen tu dir selber den Gefallen und beschaeftige dich vorher mit nem Debugger und Versioning Systemen. Ich weiss aus eigener Erfahrung dass das laengst nicht so spannend ist wie das coden an sich, aber es kann einem waehrend des Projektes soviel an Frust ersparen...
Wobei ein Versioning System vor allem hilfreich ist wenn man im Team arbeitet, aber auch wenn du als einziger an einem Projekt arbeitest macht es die Arbeit einiges leichter.
mfg,
bytepool