On Sun, 2004-01-04 at 12:50, Bryce Harrington wrote:
Can you explain about distinguishing between implementation and role? Is this like a class/instance type relationship or something else? I'm wondering if it would be conceptually simpler if this dualism could be handled in a different fashion than at the namespace level.
It's mostly to make things simpler in my mind (and hopefully others using the code). I'm looking at that there will be several types of implementations (scripts, internal, other languages (python, perl...)) and all of those will require some code and configuration to get them to work. I wanted to put those two things into their own little block and that desire is what implemenations came out of.
What it does for the user (user of code, not end user) is that they get a clear choice of what to look at for what they want to do. If they want to use extensions within the program, they only need to look at the extensions interface. If they want to build their own extension, all they need to look at is the implemenations interface.
So, in a nutshell, yes, it isn't a required seperation to make things work - but I think it does make things simpler for the users of the code (which hopefully there will be alot of) and it makes the object definitions a little bit cleaner for everything.
I'm open to other ideas though... this is just the one I thought of.
--Ted