Lists Home |
Date Index |
Because though I think making code systems simple and robust is helped
by AOP, IMO, simplying one dimension can complicate
another. That is why I say, it's a point of view
decision. For whom should we optimize. XML was
optimized to make it easier to write a parser. SGML
could be configured to make it easier for an author
to write a document. We can create a complex editor
to hide tags and make the job of creating a document
simpler, or we can create a simple editor and leave
it to the author to learn XML.
These things make specifications hard
to write and standards hard to choose.
No free lunch.
From: Hunsberger, Peter [mailto:Peter.Hunsberger@STJUDE.ORG]
Bullard, Claude L (Len) <firstname.lastname@example.org> asks:
> I can't think of any examples either that don't
> blow something up or sink something except two
> teen-agers and a baby.
> Simplicity and complexity are perceived qualities,
> not real without a rule, say related to dependency,
> frequency, occurrence and depth. Is an unfactored equation
> complex or simple? Is it simpler when factored? Why?
> If a complex operation has a simple interface, is the
> operation simple or complex?
> I ask because once again, surface simplicity has an
> attraction that can lead one to the wrong solution.
> That's as uneliptical as I can say it.
> So what of aspect-oriented programming?
Umm, why do you ask? In my view it's a way of acknowledging that if you
pack up everything as objects you still want to dig inside the objects
and expose/add common cross cutting functionality.
Eg; for every object that connects to the database intercept the call
and add a authorization check. The authorization check is written once.
The objects don't have to add any special interfaces or code to deal
with it; it simply becomes an "aspect" of connecting to the database
(you do have to define where the aspect is inserted, not all is magic).
Does that add complexity or simplify things? Danged if I know. It
simplifies the code in many ways, but confuses people (and perhaps
debuggers) that don't know where to go looking for the aspects and the
definitions of how they apply.