R
Nun möchte ich das von Grund auf neu Entwickeln in Form einer Library, die ich dann auch für andere Programm verwenden kann.
definier "andere Programm" genauer!
- ist/muss/soll das andere Programm auch in c++ geschrieben
- ist/muss/soll der gleiche Compiler verwendet werden
- soll die Lib und das programm irgendwann mal getrennt verwaltet werden
danach wuerd ich entscheiden, ob ich ne lib oder ne dll verwende, und ob die dll ne c oder c++ schnittstelle bekommen wuerd ....
class HttpProtocol : public NetworkAbstract {
public:
HttpProtocol(NetworkImplementor *networkImplementor);
bool connectToHost(string hostname, string port);
bool disconnectFromHost();
void sendData(string data);
string getData();
};
Aehm, warum soll der Anwender (der der HTTP benutzt) was mit dem NetworkImplementor zu tun haben ? sollt das nicht impliziet (verdeckt) gehen ?
Da die connection daten bei jedem protokoll anders sind, wuerd ich die abstrahieren ....
also entweder auf nen generischen typ mappen mit ner eigenen protokoll spezifikation, also text im format "host:port" , also sowas wie ne url ....
oder nen abstraktes Connection data object bauen was je nach protokoll andere members hat, und erwarten dass deine Impl ne geeignete instanz bekommt.
noch was :
HttpProtocol
- erbt bool connectToHost(); (von NetworkAbstract)
- und ueberdeckt das mit connectToHost(string hostname, string port);
das wird dir nen effekt bringenm, den sicher so ned haben willst ^^
Ciao ...