Jared, have you taken a look at the book, "UML for Mere Mortals"? It's
on my Safari bookshelf (another great resource) and has been pretty
helpful in getting UML into my workflow. I still prefer to do tons of
rough UML-ish sketches before opening up Poseidon, but the book has
helped me to move beyond simple class diagrams and inheritance
relationships to think more... model-y? That is, to stop thinking of
individual classes/CFCs and concentrate on the different objects in
the particular part of the domain I'm trying to model. I still have a
long, long, long way to go on learning and using UML well, but the
fact that I actually use it now is an improvement!

Now I just have to teach my coworkers and clients... ugh.

Do you know of any good UML resources?

On 2/21/06, Jared Rypka-Hauer <[EMAIL PROTECTED]> wrote:
> OK, I'll throw in here.
>
> When I first started with CF back in '97, I'd been programming or
> "developing" as a hobby since I was 9... which means (blech) that I wrote my
> first computer program almost 25 years ago. HELP ME!! ;)
>
> I was still doing CFMX like it was CF5 as late as 2002... call me oblivious,
> I just didn't have a lot of exposure outside my little environment. But I
> got back to going to CFUGs and started reading more about CFMX and CFCs and
> stuff... and I met Sean on CF-Talk. Finally after years and years of
> wondering and even asking repeatedly, someone started to explain things a
> bit and I started reading blogs, articles online, and things like Ray
> Camden's ColdFusion Dev Guide... Guy Rish's chapter on OO and encapsulation
> was the thing. I "officially" started learning OO one year, one month and
> nine days ago. I don't know why Jan 12 2005 got glued into my head, but it
> did. I caught the bug.
>
> I still get lost in my applications... I think I tend to overcomplicate
> things by trying to write n-tier applications from the start rather than
> letting controllers have a little more authority than they should. Often I
> get the idea right away, but when I go to use it I sit there staring at my
> graph paper wondering where to start. It's getting easier and easier all the
> time, though. What was key was understanding the basics... what's an object,
> what's an instance, what's a class, what's encapsulation, polymorphism, and
> inheritance, yadda yadda. It's hard going from PP to OOP because with OOP
> you so often start with the "don't worry about what it does, worry about
> what it is" but from a procedural background there is no "is"... there is
> only does. So looking at examples like C++ or Java that have a main() method
> that kicks off the loading, starting, INSTANTIATING! hehe really helped me
> see... OH I get it, sequence over procedure... bah, syntax sux. Anyway, I
> basically learned OO by nagging friends with questions (and some even still
> talk to me!) and by reading Mach-II's source code, believe it or not. That
> was where I started to see patters like index.cfm bootstrapping the
> framework into the application scope, method chaining, and how encapsulation
> really works in a CF application.
>
> My biggest challenge now is abstraction... it makes my brain hurt. I'm
> working on writing an event validation framework/library that allows
> Fusebox, Mach-II or ModelGlue to validate data in the "event" (or the
> attributes scope, as Fusebox calls it) and I've got 99% of it done. It's
> that last 1% that involves the highest level of abstraction and deepest set
> of composite objects that's proving hardest because I can't SEE it. I guess
> you could say I'm very visual, so I'm actually starting to contemplate using
> coins and colored string to model my applications. ;) If anyone wants more
> info on Sting just let me know. It should be most cool because it'll allow
> an entire event to be validated with one validate() call, has strict or
> loose validation, etc., and will make the validation side of things as much
> a snap as Reactor makes the DB side of things.
>
> I know that the "seeing it" thing is actually offset by... gasp... UML. I'm
> just not good enough at predicting what objects will go where yet to be very
> good at modeling, then writing... one day soon i hope. For now, it's all
> about the coffee, graph paper, and coins+colored string. Hehe..
>
> Anyway, enough of the commercial. Suffice to say I've been at OO for a year
> and still literally get dizzy headaches from it once in a while... but it
> gets easier and easier all the time and I keep getting faster at it to boot.
>
> Laterz!
> J
>
>
>
>
> ------------------------------------------------
>
> Jared C. Rypka-Hauer
>
> Continuum Media Group LLC
>
> http://www.web-relevant.com
>
> Member, Team Macromedia - ColdFusion
>
>
>
>
> "That which does not kill me makes me stranger." - Yonah Schmeidler
>
>
> On Feb 21, 2006, at 4:02 PM, Sean Corfield wrote:
>
> On 2/21/06, Doug Hughes <[EMAIL PROTECTED]> wrote:
> You hit the nail on the head.  My path to OOishness started more than two
> years ago (after many many years of procedural programming).  I started by
> taking Hal Helm's class on Mach-II.  I figured after 3 days I'd know this
> stuff backwards and forwards.  (I consider myself to be reasonably bright
> too.)  So, after the class I quickly ran home and was absolutely unable to
> get anything done.  I spent the next two years trying and trying and trying
> again.
>
> My OO history: I started back in January '92 by picking up C++ and it
> was really painful. It took me at least a couple of years to get
> comfortable with the OO styles of the day back then and they've been
> evolving ever since and I've tried to keep up with it all. I picked up
> Java in '97, I dabbled in Smalltalk on and off through the 90's and
> these days I do my OO in ColdFusion mostly. Almost no one had heard of
> design patterns back when I started doing OO - something we've all had
> to pick up along the way. And idioms keep changing - and each language
> has its own set of idioms which adds to the difficulty. I like to
> think I'm a fairly competent OO designer these days but even so, it
> was only last year that I 'got' inversion of control and why anyone
> might program that way!
>
>
> Then, one day, I was working in Java (of all languages) and realized
> that (holy hell!!) I was applying OO unconsciously.  From that point forward
> my learning curve has returned to my pre-OO days.
>
> That's pretty much how it is for most folks. One day, the lightbulb
> goes on. That day can be weeks, months or sometimes years into the
> learning process - depending on how you learn and what resources you
> have at your disposal (training courses, a mentor, access to good OO
> code examples, books - whatever suits you).
>
>
> As Sean frequently says, "This stuff is hard!"
>
> Yeah, I had one guy get really irate at CFUN-04 because I told him not
> to expect to pick up OO in "a few days" (his expectation was that he'd
> read a book and be off and running). He felt I was being elitist or
> telling him he was stupid because I insisted it would take him longer
> than his "few days"... Unfortunately, this stuff is just plain hard.
>
>
> And as I always say, "You've got to try and screw up a few times before
> you'll get it".  Why? Because by messing up you'll be able to see what went
> wrong.  This, at least for me, helps me to understand how to avoid this
> problem next time around.
>
> Yes, that helps too - although sometimes figuring out that you have
> actually screwed up isn't always easy :) But I do feel that making
> mistakes and learning from them really does help bring home the
> concepts behind OO.
> --
> 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/
>
>
>
>


--
 Quidquid latine dictum sit, altum sonatur.
- Whatever is said in Latin sounds profound.



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


Reply via email to