An Architect's View

ColdFusion, Software Design, Frameworks and more...

An Architect's View

Entries Tagged as architecture

Static is Evil

December 12, 2009 · 1 Comment

This cropped up on the TDD mailing list and it made me smile so I wanted to share it along with some commentary. A fairly common request from folks in the CF community is for "static" methods (and data members) to be added to CFML. Folks look at Java, think it's a cool concept, and want it in CFML as well. I generally pop up and say it's a bad idea and that Java only has static because it doesn't have any concept of a global application scope (which CFML does, of course).

[Read more →]

1 CommentTags: architecture · coldfusion · tdd

Introducing FW/1

July 20, 2009 · 4 Comments

Over the last few days I've been working on a new MVC application framework for ColdFusion. It's very lightweight and completely convention-based. Beyond this introduction, I won't be blogging about it here but you can read all about about on the project blog over at Framework One's RIAForge website. That's where you'll also find the forums, wiki, source code repository and bug tracker. The blog also has a link to the new mailing list if you'd rather use that instead of the forums. What is FW/1? Read the RIAForge project description and introductory blog post there. Why create FW/1? Again, read the project blog on RIAForge!

4 CommentsTags: architecture · coldfusion · fw1

To OO or not to OO? What is the question?

May 30, 2009 · 29 Comments

Marc Funaro kicked off quite a heated debate on his blog lately by raging against people pushing object-oriented programing/design and how his attempt to follow their advice nearly led to the collapse of his business. Marc was expressing a common frustration that many of us have heard from people who try to learn OO, especially from people with a long history of procedural programming and/or no computer science background. I've left comments on a few of the blog posts but several people have asked me to go into a bit more depth about my thoughts on this issue (since I'm one of the people sometimes accused of "pushing" OO and insisting it's the "right" way to do things).

[Read more →]

29 CommentsTags: architecture · coldfusion · programming

My cf.Objective() 2009 Schedule

May 11, 2009 · 2 Comments

In the absence of a printable schedule - sorry, Joe Rinehart says it's a problem with the Media3 hosting and he's been trying to get them to fix it for months! - here is my schedule for cf.Objective() 2009:

[Read more →]

2 CommentsTags: adobe · air · architecture · cfobjective · coldbox · coldfusion · coldspring · flex · iphone · j2ee · jquery · machii · orm · oss · ria · saas · swiz · tdd

Designing object-oriented software is hard

March 30, 2009 · 9 Comments

Ben Nadel had a bit of a "crisis of faith" last week over his ability to learn OOP the "right" way. He's highlighted a problem most people have coming to OO these days: in their search for the One True Way(tm), they are overwhelmed and can feel like failures. It can be a long, hard road. In a comment on his blog, I recommended everyone read the first two paragraphs of the "Gang of Four" Design Patterns book because it really sets this in context. I'm going to reproduce those first two paragraphs here to get you thinking. I highly recommend buying and reading the book.

[Read more →]

9 CommentsTags: architecture · coldfusion · programming

The DAO and Gateway separation in CFML is nonsense

March 03, 2009 · 31 Comments

There, I said it! I said it in a post to the cfcdev mailing list and Henry Ho felt it deserved a mention on his blog. The topic came up because John Whish, manager of the Devon CFUG over in England (where I spoke last September on design patterns), is running a series of presentations on OO and patterns for the group. He wondered how to approach the fact that CFers tend to have separate DAOs and Gateways whereas that distinction does not exist in non-CF languages or pattern literature. I feel responsible for that distinction so I replied with my thoughts and an explanation of why I had suggested it nearly six years ago but why I don't think it's good advice these days (and, frankly, hasn't been good advice for years - I no longer had access to the guidelines document that enshrined the advice!). I recommend you read the thread on the Google Group (cfcdev). Henry quotes part of my reply and links to the thread for more detail.

31 CommentsTags: architecture · coldfusion

How do you find your classes?

January 15, 2009 · 2 Comments

Thinking in objects can be really hard and one of the biggest stumbling blocks for many who are new to OO design is identifying what are the right things in the problem domain to model as classes. This topic came up in a recent thread on the excellent cfcdev mailing list and Alan Livie shared his recommendation for Robert C. Martin's book "Agile Principles, Patterns, and Practices in C#". In particular, he pointed list members to chapter 20 which discusses the design of objects to represent a coffee maker. That particular chapter is available as a PDF and it's a really good read. It starts off explaining the problem to be solved and then presents the "obvious" object model that most new OO students come up with. Then he takes it apart, explaining why it's a poor design, and goes on to construct a much better model (with fewer objects) that is very elegant and easy to understand. If you're struggling with the OO design process, you need to read this PDF and absorb the lessons laid out within it. Even if you think you're an OO 'guru' you'll probably learn something from it!

2 CommentsTags: architecture · coldfusion

Hal Helms - are you OO-Ready?

December 13, 2008 · No Comments

Several people have been blogging about the OO Quiz created by Hal Helms. I'd question the wording of a couple of the questions but it's a fun way to while away 15-20 minutes and it will definitely test your understanding of object-oriented terminology and principles.

No CommentsTags: architecture · coldfusion · programming

Design Patterns preso updated

October 01, 2008 · 4 Comments

The preso I gave on Monday at the Devon CFUG and which I'll be giving in about an hour at the TVCFUG has been posted to the PRESOS section on my blog. It's a PDF with slides and notes since there are quite a few notes on this preso and it'll make it easier to follow. John Whish (Devon CFUG) has a version of all the slides (with builds but no notes) which was how I presented it on Monday because my laptop wouldn't drive the projector (first time ever!) and I had to present from John's laptop.

4 CommentsTags: architecture · coldfusion

Bob Silverberg on Transfer ORM and Architecture

July 15, 2008 · 1 Comment

Update: Bob just added Part VII so I'm updating this post to include that.
For ease of reference I just wanted to post a quick note highlighting Bob Silverberg's excellent series on using Transfer ORM and OO architecture: If Bob adds additional pieces, I'll update this post with his new articles. There's a lot of good information here although it may be a bit overwhelming on first read so be prepared to keep coming back to these posts!

1 CommentTags: architecture · coldfusion · orm