Laden...

Posting mit ProjektKlasse für GraphicsProject erstlellen (Scheemann) - wo bist du jetzt ??

Erstellt von kakaomilch vor 18 Jahren Letzter Beitrag vor 18 Jahren 1.768 Views
kakaomilch Themenstarter:in
100 Beiträge seit 2005
vor 18 Jahren
Posting mit ProjektKlasse für GraphicsProject erstlellen (Scheemann) - wo bist du jetzt ??

Da war gerade ein Posting über ein Zeichenprogramm dass zb einen Schneemann aus mehreren "GraphicsObjects" zeichnen sollte...

Wurde das jetzt gelöscht oder bin ihc nur blind ?!..

Hier auf jeden fall meine Antworte (konnte ich nicht mehr abschicken -->error)..

Hi!
Ich bin zwar selbst nicht soo der Patterns Experte, aber das erinnert mich an ein Pattern, das mir unser Architect letzte Woche für was ähnliches vorgeschlagen hat.

Das "Builder Pattern".
Du machst zb einen "SchneemannBuilder", und der weiß in sich drinnen, woraus ein Schneemann besteht.

http://www.c-sharpcorner.com/Language/BuilderPatternsinCSRVS.asp

http://en.wikipedia.org/wiki/Builder_pattern

http://www.dofactory.com/Patterns/PatternBuilder.aspx

Dann machst du noch eine Klasse GraphicProject und der SchneemannBuilder zb erstellt dir ein bestimmtes GraphicProject, dass die GraphicObjects eines Schneemannes enthält.


public class GraphicProject{
	private ArrayList _objects; // oder statt ArrayList - List<GraphicObject> unter .Net 2.0

	public void Add(GraphicObject obj){
		_objects.Add(obj);
	}

	public void Draw(Graphics g){
		foreach (GraphicsObject obj in _objects){
			obj.Draw(g);
		}
	}
}

Der Code oben setzt voraus, dass deine GraphicsObject Klasse eine Method

void Draw(Graphics g);

hat, (oder ähnlich) der du das aktuelle Graphics object übergibst (zb von e.Graphics aus dem Control.Paint event, oder von e.Graphics aus dem PrintDocument.PrintPage event).

Noch ein Vorteil:
Du kannst damit ziemlich unabhängig sowohl auf die Form als auch auf ein Blatt Papier (PrintDocument) zeichnen 🙂

Bei Fragen schreib einfach 'ne Antwort.

lg,
Kakaomilch.

N
4.644 Beiträge seit 2004
vor 18 Jahren

Das habe ich gelöscht, da der Threadersteller so freundlich war, den Titel und den gesamten Text jeweils durch einen "." zu ersetzen.

kakaomilch Themenstarter:in
100 Beiträge seit 2005
vor 18 Jahren
na sehr gscheit

🙂

Edit: das bezieht sich auf den ersteller nicht auf dich..

S
8.746 Beiträge seit 2005
vor 18 Jahren

Original von Noodles
Das habe ich gelöscht, da der Threadersteller so freundlich war, den Titel und den gesamten Text jeweils durch einen "." zu ersetzen.

Tja, auch Informatiklehrer beherrschen Google, da muss man vorsichtig sein... 😉