[Biojava-l] Tutorial Suggestion...
Michael L. Heuer
heuermh@acm.org
Thu, 25 Apr 2002 14:56:50 -0400 (EDT)
Ah yes, I see the distinction.
Very clever.
So how exactly should we update the documentation?? :)
michael
On 25 Apr 2002, Phillip Lord wrote:
> >>>>> "James" == James Carman <james@carmanconsulting.com> writes:
>
> James> No, each flyweight instance is not a singleton. It is a
> James> single instance of a class, that's true. However, there are
> James> also other instances of the same class. In the singleton
> James> design pattern, exactly one instance of the class exists. In
> James> the flyweight pattern, multiple instances of the class exist.
> James> There are four AtomicSymbol instances created to represent
> James> each of the a, g, c, and t DNA symbols.
>
> I think that the confusion comes from another related design pattern
> which is a common way of faking enums in Java. So...
>
>
> class Nucleotide{
>
> private Nucleotide(){};
>
> public static final Nucleotide a = new Nucleotide();
> public static final Nucleotide c = new Nucleotide();
> public static final Nucleotide g = new Nucleotide();
> public static final Nucleotide t = new Nucleotide();
> }
>
> is not a singleton either, but clearly looks like it. It's not really
> a flyweight either, although it fulfils the same function where the
> number of instances are known and defined at compile time. Personally
> I consider it to be a singleton-ish method for nearly implementing a
> flyweight.
>
> See this is the problem with computer programming. Someone spends all
> this effort on synthesising only 23 patterns out of enormous
> complexity. And then someone at the back stands up and says "ah but
> what about....".
>
> A bit like biology really. There's always an exception to every rule.
>
>
> Phil
> _______________________________________________
> Biojava-l mailing list - Biojava-l@biojava.org
> http://biojava.org/mailman/listinfo/biojava-l
>