Bye Bye EEK - Improving design with the Aspect module

YAPC::Israel::2004 logo
Home
Milestones
Old News
Participants
  Registration
  List participants
  Personal information
Call for Participation
  English
  Hebrew
Call for Papers
  Hebrew (.doc)
  English (.doc)
Speakers
Presentations
Slides
Pictures
Schedule
Feedback
Training
Organizers
Sponsors
Location
Other YAPCs

perl.org.il

Title: Bye Bye EEK - Improving design with the Aspect module
Person: Ran Eilam
Length: 60
Language: Hebrew
Abstract:
Suppose a hypothetical call chain:

 $printer->print() calls
  $document->print() calls
   $page->getContents() calls
    ...
     $image->getWidth()

One day you are given a small change request: documents will now be printed on yellow OR white pages. Thus images need to calibrate their colors. The color of the page is only known to the Printer, and only while it is running print(). But the Image has no access to the page color. Or the printer.

One solution is to add the page color as a parameter to each of the methods in the call chain. But this infects the methods with smelly EEK:
Extraneous Embedded Knowledge. They know more of the world than they should.

The talk will present some examples of design difficulties, like EEK, and how AOP solutions can help clean up the design.


 

 

 

 

 

Please send comments, questions etc. to yapc-organizers@perl.org.il