Bioperl: Accessing sequences via Bio::DB::SeqI

Ewan Birney birney@ebi.ac.uk
Fri, 5 May 2000 14:00:36 +0100 (BST)


On Fri, 5 May 2000, Matthew Pocock wrote:

> >
> > I think the BioPerl "I" modules confuse people who
> > are used to working with interfaces, because they
> > contain a lot of "decorator" methods, which
> > actually do things, and so are not pure abstract
> > interfaces.  Bio::Root::RootI implements all of
> > its methods, so I think it _is_ the concrete class
> > that Mark is looking for.
> >


Right. Quite true. This is explained in biodesign.pod (please feel
free to edit/add to that) and also most I files in the documentation
have reasonably clear definitions of what to implement or not.

This is not perfect. Maybe we should call them 'I files' and not
interfaces to avoid confusion.

> >         James
> >
> 
> I find having code in the "xxxI" files nasty. Interfaces should realy just define the
> contract for the object, and not contain any implementation details (read code). If there are
> some standard partial implementations, then it can go into AbstractXxx, and people can
> inherit off that, filling in the missing abstract methods. But of course, that adds more
> packages (and I am probably biassed by programming too much Java).
> 

Doesn't help you cleany when you have multiple I file inherietance. The
real pattern in Java would be:

	PublicExternalInterface ---> implemented by
          -> additional methods
				     GenericWrapperClass ---> has-a

								|
								|
							InternalInterface

							Implemented
							Specifically

4 classes in Java for 2 in bioperl. 

You say tomato, I say tomato



> Matthew
> 
> >
> > James G.R. Gilbert
> > The Sanger Centre
> > Wellcome Trust Genome Campus
> > Hinxton
> > Cambridge                        Tel: 01223 494906
> > CB10 1SA                         Fax: 01223 494919
> >
> > =========== Bioperl Project Mailing List Message Footer =======
> > Project URL: http://bio.perl.org/
> > For info about how to (un)subscribe, where messages are archived, etc:
> > http://www.techfak.uni-bielefeld.de/bcd/Perl/Bio/vsns-bcd-perl.html
> > ====================================================================
> 
> --
> Joon: You're out of your tree
> Sam:  It wasn't my tree
>                                                  (Benny & Joon)
> 
> 
> =========== Bioperl Project Mailing List Message Footer =======
> Project URL: http://bio.perl.org/
> For info about how to (un)subscribe, where messages are archived, etc:
> http://www.techfak.uni-bielefeld.de/bcd/Perl/Bio/vsns-bcd-perl.html
> ====================================================================
> 

-----------------------------------------------------------------
Ewan Birney. Mobile: +44 (0)7970 151230, Work: +44 1223 494420
<birney@ebi.ac.uk>. 
-----------------------------------------------------------------

=========== Bioperl Project Mailing List Message Footer =======
Project URL: http://bio.perl.org/
For info about how to (un)subscribe, where messages are archived, etc:
http://www.techfak.uni-bielefeld.de/bcd/Perl/Bio/vsns-bcd-perl.html
====================================================================