RE: Technology Brainstorm

(Because I often get tired of writing my verbose comments in a 300×300 text

Colin seems to find
himself in a pretty good spot
.  The wonderful world of Greenfield
development.  But of course with this comes…decisions.  MVC or Web Forms? 
ActiveRecord or PI (persistent ignorant)?  .NET or Ruby?  (the latter being the
question I’m starting to ask on new projects)

Colin seems to be pretty set on Castle Windsor+MonoRail+ActiveRecord which is
a wonderful combination.  The simplicity of AR is just dang nice.  And with
things like the ActiveRecordMediator in Castle and the Repository<T>
techniques made popular by Ayende, it seems like you can remove some of the
“persistence tax” from your entities while still remaining pretty simple.  I say
“it seems like” because unfortunately I haven’t had a chance to try out
ActiveRecordMediator+Repository<T> on my own yet.  But it looks very

I still struggle with the decision between MR+AR vs. MR+PI (persistent
ignorant) myself, in the .NET world at least.  (I’m finding this decision in a
dynamic language like Ruby to be a whole different kind of conversation
though.)  The purist in me wants to have a 100% “pure” domain model and not let
any of that pesky “infrastructure” stuff pollute my precious domain model.  And
then the simplicityness (yes, I made that up) in me says “is that really
necessary?”.  Eric Evans himself recently said he
noticed a lot of overuse of DDD
, which I admit to being guilty of.  But, I’m
still learning (something I hope I’m always doing…)

So since Colin asked for suggestions, here are a couple things I’d look into
for use on a brand new MR project (most of which I haven’t used yet…):

Oh, and I absolutely agree on using Windsor from the start.  That’s what I’ve
done on my current project and you start getting giggly once you realize how
easy it is to shift responsibilities among classes.  Not to mention the nice
decorator chains that can be created to help you adhere closer to OCP.

That’s it for now.  After all, this was just supposed to be
a comment.  :)

This entry was posted in castle, domain-driven design, monorail, patterns. Bookmark the permalink. Follow any comments here with the RSS feed for this post.

One Response to RE: Technology Brainstorm

  1. cramsay says:

    Thanks Joey, that was a great comment. I’ve used the code generator before to set up strongly typed redirects, and it was great. If I remember rightly I couldn’t get the typed dictionaries working though so I may take another look.

    Regarding the overuse of DDD, I’m very much a novice in that field so I am trying to work only with the concepts I fully understand and can see immediate value in. While this is a new project and I can pretty much do anything, I don’t want to get too bogged down in “correctness”…