Re: Method documentation
| From: | Adam Richardson | Date: | Thu, 27 May 2010 18:50:56 +0000 |
| Subject: | Re: Method documentation | ||
| References: | 1 2 3 4 5 6 7 8 9 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-305590@lists.php.net to get a copy of this message | ||
>
>
> > Larry,
> >
> > I've thought about this very issue before (java developers sometimes
> lament
> > this issue, too), and I error on the side of duplication if I'm using
> > inheritance.
> >
> > However, I'd say I rarely use inheritance for anything in my development,
> > and I'm much more likely to use composition.
> >
> > When a project evolves that's built almost entirely using design patterns
> > focused on composition, I find that I very rarely have to duplicate any
> > documentation, or rework documentation later on because a completely new
> > component is being used.
> >
> > Outside of PHP (Scala, Objective C, F#, etc.), it seems like inheritance
> is
> > advocated much less frequently, due to the power and simplicity of
> > composition (e.g., change behavior at runtime, requires less knowledge of
> > the parent classes.)
> >
> > Quoting the Head First book on design patterns:
> > "Favor composition over inheritance"
> >
> > Now, there are situations where either inheritance is the most
> appropriate,
> > and/or the architecture is not directly under your control. And, as I
> said
> > at the beginning, I tend to error on the side of duplication. I just try
> to
> > never put myself in that situation :)
> >
> > Adam
> >
> > --
> > Nephtali: PHP web framework that functions beautifully
> > http://nephtaliproject.com
> >
>
> With the up-and-coming traits facility for PHP, it will be interesting
> on how this gets resolved for documentation readers.
>
>
Indeed, I'm excited for the new capabilities, but they won't come easily in
terms of the development ecosystem.
--
Nephtali: PHP web framework that functions beautifully
http://nephtaliproject.com