Is a custom design pattern right for me?

Add comments

It seems at the office that we've always done things a little bit differently. I mean, who doesn't? It makes perfect sense that any business would, after time and some isolation, start to invent their own wheel, or set of wheels. There was a time a year or so ago that I was starting to think that our strange little habits were going to have to give way to the powerful trends in the community.

Lately, however, I'm starting to feel a different direction. We - as a team - have come up with some very interesting innovations that have enhanced our "habits" and they are now forming into their very own design pattern. Complete with rules, consistencies, and niceties. I've become rather proud of it, in fact!

The only concerns I have are two fold. The first is whether or not we have the time to train up new hires as the system becomes more and more sophisticated. It's certainly getting to the point where you've pretty much got to be a seasoned ColdFusion developer with advanced component authoring under your belt, as well as some OOP chops if you want to do any architecting or enhancing to the API. The other concern I have is that the deep wealth of community tools and automation utilities such as code generators, etc. are not going to work for us. This is very unfortunate, because we're having to hand code our beans, which is somewhat archaic. Of course, that's only going to happen for as long as it takes me or someone else on the team to write some of our own generation tools.

So as you can see there is something of a conundrum here. We could embrace our own creativity and trod along down this exciting interesting path we're on, or we could wipe everything off the table and go the DAO or Active Record route. Doing that invalidates years of work, and would make the very next project a complete departure in approach from anything we've done before, rather than a single step or two farther down this path of evolution I feel we're walking.

Decisions decisions...

3 responses to “Is a custom design pattern right for me?”

  1. Nolan Erck Says:
    A couple of thoughts:

    1. Though the DEFAULT settings in tools like Illudium CFC Generator may not help you, that particular tool (as well as others, I'm sure) is pretty flexible. You can add your own custom templates just by adding an xml/xsd file to the app. While I haven't had the need to do much of this myself, an associate of mine has made quite extensive use of it. It may be worth an hour or so of your time to play with that and see if you can indeed do the same thing for your custom framework.

    2. While frameworks and patterns are indeed all the rage these days, they are just _guidelines_, not gospel, and no, they won't always solve every problem under the sun, as you've noticed in your current app. Reading this blog entry reminded me of one I posted a while ago:

    http://www.southofshasta.com/blog/index.cfm/2008/3/28/To-Framework-or-Not-To-Framework-It-depends

    ...it really does depend on the problem you're trying to solve. Sometimes a Gang of Four pattern and [some framework] is the way to go. Other times, not so much. Your mileage may vary. :)

    -nolan
  2. Henry Ho Says:
    Is it really a pattern? Share it with us! :)
  3. Adam Bellas Says:
    Nolan, thanks for your insight that clearly comes from your experience. I can certainly appreciate your wisdom from the front lines of contract work as I'm working on projects like that here and there. However most of my work at the day job office is on projects we take with us and nurture for years, so we often enter projects with the "spend time to find the right tools for the long haul" mentality. Frankly, it can be difficult to switch my context from office to contractor. I loved when you said this in your blog post, I hadn't heard it before:

    cheap. quick. well.
    pick two.

    I'll try to find some time to get down and dirty with Illudium to see what I can come up with. Sounds like I might be missing some of the good stuff.


    Henry, I'm seriously considering how I can share the work we've done on what I believe might actually be a design pattern. My CompSci is weak, although I've been developing web for a long time, so I don't think I'm educated enough to present this to the world under the label "design patter". I'm definitely doing my research and refining the inner workings of it, along with the team, and might reveal it. I have in mind a proposal to our VP to make our CMS open source, and it's first open release would be under this "design patter" if it all happens. I'll definitely be posting about this if it all comes together.

Leave a Reply



Powered by Mango Blog. Design and Icons by N.Design Studio