[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!
charles
--
Xgrid-at-Stanford
Help science move fast forward:
http://cmgm.stanford.edu/~cparnot/xgrid-stanford
Charles Parnot
charles.parnot at gmail.com
More information about the Biococoa-dev
mailing list