Hi Sean,

I'm agnostic on whether this change should be made (I would like it to work
the proposed way, but I'll start telling people to add features the day I
start being responsible for managing or coding the project!). I get that
average users may not see the benefit of getFirstName() vs. get
FirstNameRecord(), but one of the benefits of frameworks is that they help
you to use best practices so you don't have to figure them out for yourself
(if you are indeed just coming to terms with anything other than spaghetti
code).

I do believe that getFirstName() makes more sense that
getFirstNameReactor(). Back to some of the basics underlying OO -
maintainability and reusability through encapsulation and cohesion. To take
an example, imagine an object which supported n-persistence methods at
runtime (web service from third party data source, flat file and some kind
of DB). Now I would have to know whether to call getFirstNameXML(),
getFirstNameWS() or getFirstNameReactor() when getting an attribute from my
bean. I really shouldn't need to know anything about HOW my bean is being
persisted to access its attributes. 

Are enough CF'ers creating dynamic n-persistence type applications such that
they should have to go to extra effort to support this variability? No.
YAGNI applies. But if it is no extra effort on the part of the developers
(getFirstName() is no more complex or difficult to type than
getFirstNameReactor()), then the fact that novice OO developers won't NEED
the proposed feature seems to me (point tail right back at you), a bogus
argument for not adding it.

As to whether the purity of Reactor should be messed up with Jareds great
solution (all such solutions are great until you have 200 of them) is
another matter.

Best Wishes,
Peter


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf
Of Sean Corfield
Sent: Friday, March 24, 2006 12:01 PM
To: [email protected]
Subject: Re: [Reactor For CF] Reactor R&D


On 3/24/06, Shannon Jackson <[EMAIL PROTECTED]> wrote:
> My emphasis is not on changing out, rather migrating to. An additional 
> benefit would also be migrating from (potentially).

Again, with my horns, pointy tail and pitchfork in hand:

For the vast majority of CFers who might want to adopt Reactor, they don't
have DAOs and they don't have beans and they don't have well-structured
CFC-based applications at all. I've just completed a "tour" of CFUGs with my
Objects & Persistence talk where I show how to migrate from spaghetti code
to using CFCs to manage objects and then how to use any of the four ORM
frameworks. For most all of those audiences, having a data access layer is a
novel idea. For them, the cost of adopting Reactor would not be changed one
iota by exchanging
getXyxRecord() to getXyz() - in fact, I would contend that this might even
confuse them (hey, remember the horns and pointy tail!). Remembering
createRecord() / getXyzRecord() is probably easier for them - they can see
immediately these are both "record" objects.

> That is because the createRecord() is used below the service level -- 
> no problem there.

Only if you have a service level - see above. For most CFers adopting
Reactor, they will liberally pepper their code - which may well be
page-based rather than controller-based - with calls to createRecord() and
createGateway(). They *may* create a DAO to wrap Reactor. That's a long way
from a controller / service / business model / data access layered model of
development.

You are in a very unusual minority in the CF community: you have created a
large, multi-tiered application that is far beyond the comprehension and
skill level of most folks in the CF community at the moment.

> I do see your point completely... I think we actually might be both 
> right here about our points and I may not be communicating effectively 
> without white boarding the service pattern we are using.

Oh I totally understand where you're coming from. I just don't think the
change you are proposing is right for the framework - even tho' I actually
think a small, configuration-based change with a backward-compatible default
would be a "small tweak". Bear in mind that a CFer familiar with default
Reactor behavior is going to find your code confusing with that "Record"
naming convention to hang onto...
--
Sean A Corfield -- http://corfield.org/
Got frameworks?

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood

 

-- Reactor for ColdFusion Mailing List -- [email protected]
-- Archives at http://www.mail-archive.com/reactor%40doughughes.net/






-- Reactor for ColdFusion Mailing List -- [email protected]
-- Archives at http://www.mail-archive.com/reactor%40doughughes.net/


Reply via email to