BEGIN:VCALENDAR
PRODID;X-RICAL-TZSOURCE=TZINFO:-//Calagator//EN
CALSCALE:GREGORIAN
X-WR-CALNAME:Calagator
METHOD:PUBLISH
VERSION:2.0
BEGIN:VTIMEZONE
TZID;X-RICAL-TZSOURCE=TZINFO:America/Los_Angeles
BEGIN:STANDARD
DTSTART:20111106T020000
RDATE:20111106T020000
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
TZNAME:PST
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED;VALUE=DATE-TIME:20111025T233341Z
DTEND;TZID=America/Los_Angeles;VALUE=DATE-TIME:20111110T203900
DTSTART;TZID=America/Los_Angeles;VALUE=DATE-TIME:20111110T185300
DTSTAMP;VALUE=DATE-TIME:20111025T233341Z
LAST-MODIFIED;VALUE=DATE-TIME:20111025T233341Z
UID:http://calagator.org/events/1250461523
DESCRIPTION: speaker: Chad 'Exodist' Granum &#13\;\n&#13\;\nThe DCI conce
 pt was created by Trygve Reenskaug\, (inventor of MVC) and James Coplien
 . &#13\;\n&#13\;\n DCI Stands for Data\, Context\, Interactions. It was 
 created to solve the problem of unpredictable emergent behavior in netwo
 rks of interacting objects. This problem shows itself in complex OOP pro
 jects\, most commonly in projects with deep polymorphism. This is a prob
 lem that Procedural/Imperative Programming does not have. &#13\;\n&#13\;
 \n DCI does not replace OOP\, instead it augments it with lessons learne
 d from looking back at Procedural Programming. It defines a way to encap
 sulate use cases into a single place. This provides an advantage to the 
 programmer by reducing the number of interactions that need to be tracke
 d. Another advantage is the reduction of side-effects between contexts. 
 &#13\;\n&#13\;\n Another way to look at it is that a DCI implementation 
 is much more maintainable as a project matures. Changes to requirements 
 and additional features cause clean OOP project to degrade into spaghett
 i. DCI on the other hand maintains code clarity under changing requireme
 nts.&#13\;\n&#13\;\nYou will Learn:&#13\;\n&#13\;\n  * How to think in D
 CI&#13\;\n  * How the DCI cpan package helps you write DCI&#13\;\n  * Th
 at you may already write things in a form of DCI&#13\;\n  * How a DCI im
 plementation compares to an OOP implementation (in a generic task)&#13\;
 \n&#13\;\n As usual\, the meeting will be followed by social hour at the
  Lucky Lab.\n\nTags: perl\, pdx.pm\, OOP\, polymorphism\n\nImported from
 : http://calagator.org/events/1250461523
URL:http://pdx.pm.org
SUMMARY:Portland Perl Mongers – DCI: A new way to OOP.
LOCATION:Free Geek: 1731 SE 10th Avenue\, Portland OR 97214 US
SEQUENCE:1
END:VEVENT
END:VCALENDAR
