[Biococoa-dev] About BCSequence (again ;-)

Charles Parnot charles.parnot at gmail.com
Mon Jul 4 01:27:52 EDT 2005

I mostly agree with all the discussions and ideas.

Of course, there is one point I want to make clear again: the  
BCSequence thing! And I will jump right to it!!!

I made a diagram to illustrate my points:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Picture 1.png
Type: image/png
Size: 22559 bytes
Desc: not available
URL: <http://www.bioinformatics.org/pipermail/biococoa-dev/attachments/20050703/c642eecb/attachment.png>
-------------- next part --------------

Sorry, I renamed BCSequenceAbstract into BCSequenceRoot, because I  
just thought of that name and it sounds better...

First, there is no such thing as a class cluster in the current  
implementation. As Phil points out, all the subclasses are exposed.  
The BCSequence indeed uses a trick similar to class cluster, it is a  
placeholder class. The implementation is thus the confusing part. It  
is not very elaborate, though, and once you get past the point where  
the alloc-ed object can still change class at init, you have it all ;-)

Second, the basic idea of having BCSequence along the other objects  
is to provide two different types of classes: typed and not typed.  
Historically, the group was divided about 50/50 between the two  
options. I was on the side of having a one-for-all class that can be  
blindly sent any message and do something. I know Koen is also in  
favor of a unique sequence object that include all the possible  
types. In the end, we decided to keep both typed sequences and the  
one-for-all BCSequence. With a diagram like above, it is fairly easy  
to show the use of the different objects, no?

Finally, I just want to add that BCSequence does not require  
additional code and will probably not even need rewriting when we  
change the internals of the sequence classes, and should not require  
much in the future. In fact, I volunteer to maintain that code if we  
keep it! Not writing any code is something I can easily promise ;-)

cheers all!


Help science move fast forward:

Charles Parnot
charles.parnot at gmail.com

More information about the Biococoa-dev mailing list