> If Perl is going to have data hiding (I think I read that this was a
> goal), then you cannot declare these relationships outside of the
> class that defines the method. That would be like putting a "friend"
> delcaration only on the foriegn class in C++. It simply should not
> work that way.

I have no objection to requiring a "friend" property for access to
hidden data; or to allow addition of before and after methods.
That's an orthogonal issue.

> 
> Your suggestion also has the dubios honor of being a "come 
> from", which while amusing in Intercal, is probably not
> desirable in Perl ;-)

I'm sorry, I don't know Intercal.

When I look at the problem of manipulating relations between
functions, I see a Many:Many relationship. In special cases,
this may reduce to 1:M or M:1 (or even 1:1).

With any relationship, there are 3 places where it can potentially be
formalized: the source, the target or an indirection table. Any of
these possibilities may be correct, in a given situation. Perl
isn't an RDB, so we aren't forced to formalize at the M end of an M:1.

> AOP is intended as a design tool, not necessarily a code reuse
> tool.

I'm not sure that I like to make that distinction. One of the goals
of OO design (even using AOP) is to minimize redundancy.


Dave.

Reply via email to