Archived

This topic is now archived and is closed to further replies.

antareus

Three application questions

Recommended Posts

I'm working on a single-threaded, asynchronous chat application for Windows right now, and it's coming along decently. I don't have much formal training in software engineering, but I find it interesting. Since this is my first real project on my own, I like to get feedback along the way. 1. Platform independence. Is it worth striving for this, esp. on a first project? I'm using the Bridge pattern from Design Patterns to implement this, but I'm wondering if its worth the hassle. This implies that I need a the interface classes for sockets at least, as I use platform-specific ways of demultiplexing sockets. I'd like the engine to be platform independent, as well as the protocol plugins. General purpose and processing plugins may or may not be, and display plugins definitely will not be - they are easy to write though. 2. Architecture. I have an Engine class that is responsible for passing Events between different components of the system, called Modules. The base module class has a set of virtual functions that are overridden by derived classes and get invoked when an Event occurs. This is an open source project, and is as much about giving back as it is learning for myself, so I have run doxygen through the sources and documented everything at: http://filebox.vt.edu/users/magreen1/openim/docs/ I'd appreciate it very much if you could skim it and let me know what you think of it overall. 3. Related to #2. Modules need some way to interact with the system itself, but any way I think of makes a cyclic dependency between the Engine (since it runs events through other modules) and Modules. Is this bad, or unavoidable? I was thinking a "Provider" struct that holds references to all the services that modules can use. Thanks for any insights. [edited by - antareus on January 18, 2003 6:46:00 PM]

Share this post


Link to post
Share on other sites
quote:
1. Platform independence. Is it worth striving for this, esp. on a first project? I''m using the Bridge pattern from Design Patterns to implement this, but I''m wondering if its worth the hassle. This implies that I need a the interface classes for sockets at least, as I use platform-specific ways of demultiplexing sockets. I''d like the engine to be platform independent, as well as the protocol plugins. General purpose and processing plugins may or may not be, and display plugins definitely will not be - they are easy to write though.

Are you talking about your first project in general, or just your first game project? My position has always been that platform independence is the last thing you should be focusing on if it''s only a first project. You want to focus on design as well as proper implementation rather than worrying about whether it will run on other platforms. If it doesn''t run properly, then it won''t matter anyway, will it?

Share this post


Link to post
Share on other sites
First project in general. Platform independence seems to create a whole bunch of other issues along the way, such as differences in internationalization.

I should just use wxWindows if I really want platform independence.

[edited by - antareus on January 18, 2003 12:28:52 AM]

Share this post


Link to post
Share on other sites