C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Anf344ngerfrage ( Des... ^

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German)
View previous topic :: View next topic  
Author Message
Martin Bauer
Guest





PostPosted: Thu Oct 21, 2004 11:31 am    Post subject: Anf344ngerfrage ( Des... ^ Reply with quote



hallo,

Eine Klasse Server hat einen Thread in dem auf eingehende Anforderungen
gewartet wird. Diese hat eine Liste, in der N ClientObjekte
verwaltet werden. Server stellt auch eine Methode ( zur Zeit statisch )
"Login" bereit, welche von den Clientobjekten genutzt wird.
Der Login und alles andere wird im ClientObjekt auch in einem Thread
durchgeführt. Soweit funktioniert das.

Jetzt kann es aber sein, und das muß vermieden werden, daß sich 2 Clients
gleichzeitig mit gleichem Logindaten anmelden.
Die Klasse Server bekommt noch eine Liste der aktuell angemeldeten Benutzer
hinzu. Auf diese Liste muß beim Login zugeriffen werden.
Also "Login" kann nicht mehr statisch sein. Nun könnte der Klasse Client
einen Zeiger CServer* hinzugefügt werden, welcher bei der Erstellung
von Client mit this von CServer initalisiert wird.

Ansatt CServer::Login( ... ) würde dann pServer->Login( ... ) geschrieben
werden.

Mir kommt das aber so vor, wenn ich mit 2 Klassen schon solche wirren
erlebe, wie sieht der "Kneul" aus, wenn es 10 oder mehr werden.
Dann hat wieder jede Klasse nen Zeiger auf ne andere, nur um mit ihr
"kommunizieren" zu können.

Kann mir mal jemand bitte mein eher mäßiges OO-Denken aufhellen ?

Besten Dank im Voraus
MfG
Martin

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Frank Birbacher
Guest





PostPosted: Sat Oct 23, 2004 10:51 pm    Post subject: Re: Anfängerfrage ( Design ) Reply with quote



Hi!

Martin Bauer wrote:
Quote:
Kann mir mal jemand bitte mein eher mäßiges OO-Denken aufhellen ?

Du möchtest wahrscheinlich ein "Singleton" ersetzten. Das heißt,
dass es von deinem Server nur eine einzige Instanz gibt, und dass
jeder darauf zugreift. Etwa so:

class Server
{
//...
public:
static Server& getInstance()
{
static Server server;
return server;
}
private:
Server() { /*...*/ };
Server(const Server&); //nicht implementiert
};

Dieses Vorgehen wird auf zahlreichen Webseiten ausführlich
erklärt. Dabei werden vielleicht noch mehr Dinge angesprochen,
die ich hier vergessen habe.

Frank

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.