Hi,

Being relatively new to CrystalSpace, I digged a bit deeper into the User's Manual again and came across the chapter about SCF. While having read it from beginning to end, I still don't have any clue about what this mechanism does bring to the table. I mean, what is the benefit to just declaring the implementing class itself and using that instead of an extra SCF interface?

I read something in the introduction about being able to do let SCF objects communicate between processes with COM and CORBA and the like, but why should somebody do that? It's a game engine, after all! In 99% of the case, a game does not have to integrate with its environment. (Maybe with other instances of itself running on other machines for multiplayer, but this should probably be the job of a network subsystem, not of a basic object framework.)

I also don't grasp the versioning argument. The manual says "if it happened that you compiled the shared library with a slightly different version of [concrete class] (that, say, had one member variable fewer) you will end up with a SIGSEGV crash." Isn't that what the d-pointer idiom [1] is for? I see no reason how SCF solves this better.

So, why SCF?

Regards,
Denis

[1] http://jatshergill.com/blog/?p=212
------------------------------------------------------------------------------
Download new Adobe(R) Flash(R) Builder(TM) 4
The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly 
Flex(R) Builder(TM)) enable the development of rich applications that run
across multiple browsers and platforms. Download your free trials today!
http://p.sf.net/sfu/adobe-dev2dev
_______________________________________________
Crystal-main mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/crystal-main
Unsubscribe: 
mailto:[email protected]?subject=unsubscribe

Reply via email to