> TDD advocate here... I really think folks are going into TDD with
> this mindset that it's just write a test before you write code (so yes
> your are somewhat right). Doing this is going to result in frustration
> and an eventual failure and abandonment of TDD. Focusing on just
> writing a test is really the wrong approach <snip> The fact is some
> very smart folks have realized TDD was a horrible name for a great
> idea as it put us into this mind set of testing a unit. <snip> This is
> why many folks (mostly outside of the CF community) are "evolving" TDD
> into BDD (behaviour driven development). <snip> I could ramble on more
> probably but I think I've said enough for now, maybe this deserves a
> blog post?

Thanks Adam, I'd be interested in reading more about that. :) I hadn't
heard about the shift in thinking from TDD to BDD. 

There's an old apocryphal story I like about how language helps to shape
thought. The story goes that the people in a particular area (let's say
it was an island) were having a problem in which people were falling
into unexplained comas and they feared people were being burried alive.
They wanted to resolve this problem, so they assigned the task of
devising a solution to two teams and would then choose the best of the
two. One team produced a solution that was complicated, time consuming,
labor intensive, questionably effective and expensive. The other team
produced a solution that was unquestionably fast, cheap and effective
(you might call this an "elegant solution"). 

The complicated solution was to burry each person with a small amount of
food and water and raise a pipe from the coffin up to ground level so
that if the person woke from their coma they could call up to someone
monitoring the grave sites and help would rush to pull them out. After a
few days they could be reasonably assured the person had died and fill
in the pipe. Problems involved rain flooding the coffin, etc. 

The question posed to the team who produced this solution: how to we
keep from burrying people who are still alive? 

The "elegant" solution was to mount a 6-inch spike to the inside of the
coffin lid at roughly chest-height. When you closed the lid of the
coffin, you would remove all doubt that the person could still be alive. 

The question posed to the team who produced this solution: how to we
ensure that everyone we bury is dead? 

.... 

I've been trying to come up with a good way of explaining a similar kind
of shift in thinking with regard to the notion of a "front controller"
and I'm not sure how well I've done in that regard. It's posted on the
onTap framework wiki as "The Rear Controller and You". 

The basic premise of my calling this a new design pattern (as opposed to
simply describing it as a sub-set of the front controller) is to flip
the thinking involved in the "front controller" away from forcing
everything to deal with the challenges of the front controller (the
application says "I INSIST you speak to me THIS WAY") and instead allow
the controller to do the work more seamlessly by saying something to the
effect of "I don't know X but if you hum a few bars I can fake it". :P  

The system accomodates both the traditional front controller
index.cfm?event=company.about style urls as well as more traditional
/company/about.cfm style urls which makes it a trivial matter to move
pages into or out of the framework without changing any existing URLs. 

For anyone interested in the Rear Controller design pattern, you can
find more information here: 

http://ontap.wikispaces.com/The+Rear+Controller+and+You

-- 
s. isaac dealey  ^  new epoch
 isn't it time for a change? 
     ph: 781.769.0723

http://onTap.riaforge.org/blog



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to 
date
Get the Free Trial
http://ad.doubleclick.net/clk;203748912;27390454;j

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:311888
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

Reply via email to