Partial class implementation
janderson
askme at me.com
Mon Jul 16 23:13:30 PDT 2007
I want to extend what I was saying about components.
If you have a class and you want to break it up into several files based
on methods, why not use components instead. You end up with a much more
flexible design.
ie Say I have:
class Boat
{
public:
string GetName();
string GetOwner();
//ect...
point GetLocation();
point Facing();
float GetSpeed();
//ect...
};
If you went for component design you would probably do something like:
class Info
{
public:
string GetName();
string GetOwner();
//ect...
};
class PhysicsObj
{
public:
point GetLocation();
point Facing();
float GetSpeed();
//ect...
};
struct Boat
{
Info info = new Info();
PhysicsObj physicsObj = new PhysicsObj();
};
Immediately more reusable and maintainable.
Now like you said, you could use mixins. This is a nicety of D however
components offer a few advantages as well like a nice way to break up
the namespaces, are easier to refactor and allow for more cohesive code.
-Joel
More information about the Digitalmars-d
mailing list