I'm not sure who has sample apps, but the first places i'd look would be
http://corfield.org and at Brian Kotek's site. Transfer has a google groups
mailing list. You might also try to work up a simple sample site using
ModelGlue. There used to be a great resource called Quick Start that walks
you through it.

Full-on object orientation solves problems you most likely don't have. You
can dig into the pattern literature and eventually find that out for
yourself like I did, and then just settle into using the OO frameworks, or
simply use the frameworks from the very beginning. Transfer basically
creates your business objects, DAOs and provides basic gateway services for
you - saving you from writing a lot of code. If you want, write those
objects once with a single simple table to get it out of your system and
then use Transfer from then on.

Coldspring creates object instances for you, particularly the persistent
ones in application scope, and wires them together. You can try and do that
on your own to get it out of your system, create a Factory whose job it is
to CreateObjects ... then sit down and try and work out how to get PersonDAO
into Person ... no, let's see ... ummm PersonService should have an instance
of PersonDAO ... no ... ummm, maybe the Factory has instances of all
services and creates them on application start ... wait, how should I do
this. Should I pass an instance of the Factory into each of the services so
it can create a DAO in them? or should the Factory create the DAO and pass
it into PersonService when it creates PersonService ... what's better? I
don't know!

Think about that in circle for about 2 or 3 hours. Or if you want, start
asking everybody on the lists how to do it "properly" so you get a variety
of viewpoints  ... and then drop it and just use ColdSpring and Transfer,
cuz that's where you'll most likely wind up anyway if you spend 6 - 8 months
trying to really get OO and develop your own architecture.

I think it's important to have a simple overview so you understand the
basics of objects and functions and composition (one object functioning
inside another) and the rest of the basics like encapsulation, etc - but I
would focus on the frameworks if your goal is to be productive, particularly
Transfer.

;-) Nando


On Wed, Mar 26, 2008 at 11:11 PM, Stephen Judd <[EMAIL PROTECTED]>
wrote:

> Alan:   I like the sound of your approach.  Right now, I created manager
> cfcs (service) in the application scope for the calendar and event objects,
> and also have gateways, daos, and beans.  I think I'll need to tackle
> Coldspring, as I can see things getting messy with dependencies, and I
> assume my service cfcs shouldn't be calling another service in the
> application scope, especially if this may end up Flexified someday.
>
> Nando:  I've been using Fusebox for some time, this is my first attempt at
> a fully OO version.  Do you have any good pointers for integrating
> Coldspring and Fusebox....I've found some info, but no good sample apps or
> tutorials?
>
> All:  Thanks for the words of advice.  I started out with Fusebox quite a
> while ago, so figured I'd use it in an OO way so there'd be one less thing
> to learn (though I did consider MG and Mach-ii).  I'm trying to do this
> first one without ORM or code generators, so I have a better feel for what's
> going on.  I think I'll have to pick up Coldspring, though.
>
> Steve
>
>
> On Wed, Mar 26, 2008 at 5:48 PM, Adam Haskell <[EMAIL PROTECTED]> wrote:
>
> > Wise words Nando. Just this morning I was contemplating "porting" Head
> > First OOA&D to ColdFusion. By porting I mean taking examples and exercises
> > and putting them into CF and augmenting chapters and explanations to fit
> > ColdFusion better.  I thought it would be interesting to see what came out.
> > I have a theory that I would have a hard time get some OO design concepts
> > across accurately and other parts I would completely remove.
> >
> > I think learning basic OO Analysis concepts prior to picking up an OO
> > centric framework is helpful though. I'm not saying take the deep dive but
> > maybe get the basics down before diving into the framework. Certainly in
> > light of the initial question in this thread I think a framework would be
> > helpful.
> >
> > Adam Haskell
> >
> >
> > On Wed, Mar 26, 2008 at 4:44 PM, Nando <[EMAIL PROTECTED]> wrote:
> >
> > > Transfer makes it very easy to write OO applications. The time you
> > > spend learning it is *very* well invested in my opinion.
> > >
> > > It's also important to realize from the very beginning if you have no
> > > OO experience that ColdFusion is a unique environment because it is 
> > > loosely
> > > typed and because of the stateless nature of HTML based web applications.
> > > Most books you will read on OO simply don't apply very well to ColdFusion 
> > > at
> > > all - and that's a significant part of the confusion right there. I'm not
> > > sure if this is a correct statement, but if I had to do it again, I would
> > > focus on learning Coldspring, Transfer and ModelGlue or Fusebox or Mach 
> > > II.
> > > I wouldn't make "learning OO" primary, but leave it secondary as you gain
> > > experience, following a few sample applications. I think you'll progress a
> > > lot faster that way.
> > >
> > > On Wed, Mar 26, 2008 at 6:43 PM, Adam Haskell <[EMAIL PROTECTED]>
> > > wrote:
> > >
> > > > I don't think I can give you an answer that is right you have to
> > > > make that decision. What I do with my developers working on these types 
> > > > of
> > > > design decisions is give them some questions to ask themselves in hope 
> > > > that
> > > > it will get them to an answer. At the end of the day, especially when 
> > > > you
> > > > start, you will regret your decision for one reason or another so you 
> > > > want
> > > > to mitigate as much risk of making the worst decision by asking some
> > > > questions... Remember you must answer these I am not saying yes or no 
> > > > to any
> > > > of them.
> > > >
> > > > >Have the event object just query the database and populate the
> > > > array itself.
> > > >
> > > > Is your event object becoming too smart at this point? Should it
> > > > know where calendars live? Where does the rest of your persistence
> > > > interaction live? How will you write a test case to test your object's
> > > > behavior without relying on a database?
> > > >
> > > > >Have the event object ask the calendarManager for the array.
> > > >
> > > > How will this impact your coupling? Is this impact acceptable? Is
> > > > there an alternative to this approach that could impact it differently? 
> > > > How
> > > > will you write a test case to test your object's behavior without 
> > > > relying on
> > > > a database?
> > > >
> > > > >Pass the array into the constructor when creating the event object.
> > > >
> > > > How big is this array? Will all of these objects be used or will the
> > > > creation be wasted? Are there alternative constructors? Can my object 
> > > > exist
> > > > and work without this array? How will you write a test case to test your
> > > > object without relying on a database?
> > > >
> > > > The only one I have a clear direction for is the last question "Can
> > > > my object exist and work without this array?" If the answer to that is 
> > > > no
> > > > then I would strongly recommend going this direction. From the sounds 
> > > > of it
> > > > that is not the case. Note I have a repeat question in all of them, "How
> > > > will you write a test case to test your object's behavior without 
> > > > relying on
> > > > a database?" Part of the benefit of TDD, objects that are hard to test 
> > > > tend
> > > > to be objects that violate design principles. Easy testing objects tend 
> > > > to
> > > > be good citizens.
> > > >
> > > > Does anyone else have any good architecture questions Steve can ask
> > > > himself to help him make the decision?
> > > >
> > > > Adam Haskell
> > > >
> > > >
> > > >
> > > >
> > > > On Wed, Mar 26, 2008 at 10:58 AM, Stephen Judd <
> > > > [EMAIL PROTECTED]> wrote:
> > > >
> > > > > I'm taking my first plunge into a fully OO application and have
> > > > > what I think is a simple question, though I haven't found the answer 
> > > > > through
> > > > > searching:
> > > > >
> > > > > I'm developing an events calendar.  An event can be on more than
> > > > > one calendar, so when I display an individual event, I want to also 
> > > > > display
> > > > > which calendars it's on.
> > > > >
> > > > > So, when I construct my event object (I know, confusing name)
> > > > > what's the best way to grab an array of the calendars it occurs on?  
> > > > > I'm
> > > > > thinking the array could be a property of the event, but I'm not sure 
> > > > > that
> > > > > my event should be asking the calendarManager for the array directly.
> > > > >
> > > > > Options I've contemplated:
> > > > >
> > > > > Have the event object just query the database and populate the
> > > > > array itself.
> > > > >
> > > > > Have the event object ask the calendarManager for the array.
> > > > >
> > > > > Pass the array into the constructor when creating the event
> > > > > object.
> > > > >
> > > > >
> > > > > Any thoughts?  is this where I need to start using and learning
> > > > > ColdSpring?
> > > > >
> > > > > Thanks, Steve
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > >
> > >
> > > --
> > >
> > > Nando M. Breiter
> > > The CarbonZero Project
> > > CP 234
> > > 6934 Bioggio
> > > Switzerland
> > > +41 76 303 4477
> > > [EMAIL PROTECTED]
> > >
> > >
> > >
> >
> >
> >
>
> >
>


-- 

Nando M. Breiter
The CarbonZero Project
CP 234
6934 Bioggio
Switzerland
+41 76 303 4477
[EMAIL PROTECTED]

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CFCDev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cfcdev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to