Static classes or toolbox?

This is more curiosity than anything, but I figure I’d throw it out there to maybe shed some light on a question that’s been bouncing around in my head…

So, I have a basic server/client setup… on run, the client connects to the server and offers a login screen. Player logs in and so on… you get that… basic stuff…

For the purposes of simplicity and to just push the ball along, I created two static classes for things that have to be accessed from everywhere. The first maintains the connection with the server. The second just holds basic information about the user that needs to be constantly accessed… username, password, playerID, email… that kind of stuff.

So, I know I shouldn’t be using statics. The general consensus seems to be that they are bad and I should be converting those over to, ideally, a toolbox singleton… and I probably will eventually. I understand how the concept works, but for the life of me I’m not entirely certain why those are preferred over the limited static variables that I have. I know that is a really newbie question that I should have already researched by this point, but when you’re talking about a situation like mine where I have, at most, maybe a dozen static variables to just store information (right now… I am probably going to cut even that down to the bare minimum and just access the rest of it as needed through the server), what is the practical advantage to creating those extra classes necessary to implement the preferred method?


Actually, when you look at the way type extensions are made, they use static classes.