?
Shade Of Mine schrieb:
connect-Strings
Einige Projekte laufen anscheinend schon über solche ConnectionStrings. Müsste nur mal in Erfahrung bringen, ob diese vllt von irgendwo eingelesen werden und mein Projekt das dann auch machen müsste. Zur not bastele ich nicht Zwischenstelle dafür.
pumuckl schrieb:
Was mich wundert ist, warum du ComPort & Co von einerm Interface ableitest und mit virtuellen Funktionen arbeitest, wenn du danach eh alles in ein template packst. Die Stream-Argumente der template-klassen müssen ja nicht unbedingt von StreamInterface ableiten, sie müssen nur die entsprechenden Methoden haben.
volkard schrieb:
großteil stl-verblendet, tendieren zum übermäßogen konsum unpassender abgefreakter sprachmittel, können schnittstellen und funktionsumfang einfach nicht schlank halten, haben angst vor zeigern und werfen zu viele exceptions.
Ich weiß zwar einiges über C++, aber trotzdem mangelts mir noch an Praxiserfahrung. Schnappe mal hier und da was auf, aber das gelbe vom Ei isses immer noch nicht. Naja, dass ändert sich gerade auch langsam.
pumuckl schrieb:
Was mich dann noch wundert ist, dass du für die verschiedenen Anwendungen/byte-Interpretationen jeweils das komplette template wieder von vorn schreibst.
Da wollte ich ehe noch ansätzen und hatte vor etwas mit nem Strategy-Pattern reinzubassteln.
pumuckl schrieb:
Stream(ConnectorPolicy cp = ConnectionPolicy(),
InterpretationPolicy ip = InterpretationPolicy())
: ConnectionPolicy(cp), InterpretationPolicy(ip)
Perfekt! Die richtigen C'tor über nen Template zu generieren, war genau das was ich gesucht habe. Insgesamt eine schöne Lösung, so spare ich mir auch mein S-Pattern.
hustbaer schrieb:
Ein Problem was ich bei dem Design (bezogen auf das Kopfposting jetzt wieder) sehe, ist die Vermischung von Zuständigkeiten.
Das Stream Interface sollte IMO nicht Funktionen zum "Herstellen" (connect) und "Betreiben" (recv/send) eines Streams haben, dies sollte getrennt werden. In der Einfachsten Ausführung haben dann die Klassen die das Stream-Interface implementieren Konstruktoren mit irgendwelchen Parametern - was sie eben brauchen.
I think about it
Danke für alle Tipps ...