patterns-discussion AT lists.siebelschool.illinois.edu
Subject: General talk about software patterns
List archive
- From: Ekárt László <Ekart.Laszlo AT evosoft.hu>
- To: "Christophe Addinquy" <Christophe.Addinquy AT valtech.fr>, <patterns-discussion AT cs.uiuc.edu>
- Cc:
- Subject: RE: [patterns-discussion] Which patterns are more frequently used?
- Date: Wed, 6 Jul 2005 17:35:37 +0200
- List-archive: <http://mail.cs.uiuc.edu/pipermail/patterns-discussion>
- List-id: General talk about software patterns <patterns-discussion.cs.uiuc.edu>
Hi, there
> An original point of view, probably. But it's not always bad to be
> original :) I understand your point of view about inheritance abuse.
> However, I still think that Template Method is probably the most useful
> pattern: 1) it's the cornerstone of many patterns, including the Observer
> you put on the top ! 2) Template Method in fact doesn't requires
> inheritance,you can use it even within the same class, and it does still
> make sense.
I agree. I made a mistake. The template method is useful just do not abuse it
trough inheritance. It can be used I have used it, but I have seen systems
that abused inheritance and template method was present in this systems very
heavily.
> >Other pattern that I use extremely often is the decorator. This is
> because I tend to work in a bottom up XP style sometimes. If >you work in
> top to bottom way you shall have strategy patterns instead.
>
> Can you explain ? I've always assumed that through refactoring, the XP
> design still leads to "normal" design. In my point of view, it's the TDD
> which leads to design specifics, including strong classes insulation with
> interfaces, in order to make the system testable piece by piece ...
Here is how I proceed: Write a class that fulfils a specific functionality.
It is good for the moment or for that iteration. Later on I want to add
functionality but I do not want to break the cohesion of the first class. So
I add the functionality as a decorator class. I use aggregation instead of
inheritance so it is like adaptor. I "delegate" the methods that I need from
the first class.
You can use Mixins instead of Decorator when you add the new functionality
and refactor later in a better way. I do not know which is better, time will
tell. :-)
When you are thinking from the other way, than you will add new specific
functionality to a more generic class by strategy. (Top-down)
That is all.
Best regards,
Ekart Laszlo
- Re: [patterns-discussion] Which patterns are more frequently used?, Ralph Johnson, 07/06/2005
- Re: [patterns-discussion] Which patterns are more frequently used?, Pascal Costanza, 07/06/2005
- <Possible follow-up(s)>
- RE: [patterns-discussion] Which patterns are more frequently used?, Ekárt László, 07/06/2005
- RE: [patterns-discussion] Which patterns are more frequently used?, Ekárt László, 07/06/2005
- RE: [patterns-discussion] Which patterns are more frequently used?, Sriram Gopalan, 07/06/2005
Archive powered by MHonArc 2.6.16.